summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2013-05-14 17:18:44 +0200
committerMichael Brown2013-05-14 17:18:44 +0200
commit640ab792a41f20b468aafae7576e756adc50e9cb (patch)
tree7a9eb0b75222f18dbbba30c55adefacc092d3298
parent[romprefix] Fix incorrect pointer offset in undiloader.S (diff)
downloadipxe-640ab792a41f20b468aafae7576e756adc50e9cb.tar.gz
ipxe-640ab792a41f20b468aafae7576e756adc50e9cb.tar.xz
ipxe-640ab792a41f20b468aafae7576e756adc50e9cb.zip
[build] Provide "allXXXs" targets for all media on all platforms
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/Makefile.housekeeping20
-rw-r--r--src/arch/i386/Makefile.pcbios7
2 files changed, 19 insertions, 8 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 00646047..b4023ac6 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -1085,6 +1085,16 @@ automedia :
# $(1) is the media name (e.g. "rom")
#
define media_template
+$(if $(filter $(1),$(AUTO_MEDIA)),$(call auto_media_template,$(1)))
+$$(BIN)/all$(1)s : $$(foreach DRIVER,$$(DRIVERS),$$(BIN)/$$(DRIVER).$(1))
+$$(BIN)/allall : $$(BIN)/all$(1)s
+all$(1)s : $$(BIN)/all$(1)s
+allall : $$(BIN)/allall
+endef
+#
+# $(1) is the media name (e.g. "rom")
+#
+define auto_media_template
$$(BIN)/%.$(1) : $$(BIN)/%.$(1).zbin
$$(QM)echo " [FINISH] $$@"
$$(Q)$$(CP) $$< $$@
@@ -1108,7 +1118,7 @@ $(BIN)/rules/%.media.r : $(MAKEDEPS)
# Calculate list of media rules files
#
-MEDIA_RULES = $(patsubst %,$(BIN)/rules/%.media.r,$(AUTO_MEDIA))
+MEDIA_RULES = $(patsubst %,$(BIN)/rules/%.media.r,$(MEDIA))
mediarules :
@$(ECHO) $(MEDIA_RULES)
@@ -1117,7 +1127,7 @@ mediarules :
ifdef NEED_DEPS
ifneq ($(MEDIA_RULES),)
ifneq ($(HAVE_EVAL),)
-$(foreach MEDIUM,$(AUTO_MEDIA),$(eval $(call media_template,$(MEDIUM))))
+$(foreach MEDIUM,$(MEDIA),$(eval $(call media_template,$(MEDIUM))))
else
-include $(MEDIA_RULES)
endif
@@ -1133,12 +1143,6 @@ $(BIN)/%.o : payload/%.img
BOBJS += $(patsubst payload/%.img,$(BIN)/%.o,$(wildcard payload/*.img))
-# The "allXXXs" targets for each suffix
-#
-allall: allroms allmroms allpxes allisos alldsks
-allroms allmroms : all%s : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).%)
-allpxes allisos alldsks : all%s : $(foreach DRIVER,$(DRIVERS),$(BIN)/$(DRIVER).%)
-
# Alias for ipxe.%
#
$(BIN)/etherboot.% : $(BIN)/ipxe.%
diff --git a/src/arch/i386/Makefile.pcbios b/src/arch/i386/Makefile.pcbios
index 35790069..32800cde 100644
--- a/src/arch/i386/Makefile.pcbios
+++ b/src/arch/i386/Makefile.pcbios
@@ -40,6 +40,13 @@ PAD_exe = $(PERL) $(PADIMG) --blksize=512
FINALISE_rom = $(PERL) $(FIXROM)
FINALISE_mrom = $(FINALISE_rom)
+# Add per-ROM targets for "allroms"
+#
+$(BIN)/allroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).rom)
+$(BIN)/allmroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).mrom)
+allroms : $(BIN)/allroms
+allmroms : $(BIN)/allmroms
+
# rule to make a non-emulation ISO boot image
NON_AUTO_MEDIA += iso
%iso: %lkrn util/geniso