Переглянути джерело

[build] Provide "allXXXs" targets for all media on all platforms

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 11 роки тому
джерело
коміт
640ab792a4
2 змінених файлів з 19 додано та 8 видалено
  1. 12
    8
      src/Makefile.housekeeping
  2. 7
    0
      src/arch/i386/Makefile.pcbios

+ 12
- 8
src/Makefile.housekeeping Переглянути файл

@@ -1085,6 +1085,16 @@ automedia :
1085 1085
 # $(1) is the media name (e.g. "rom")
1086 1086
 #
1087 1087
 define media_template
1088
+$(if $(filter $(1),$(AUTO_MEDIA)),$(call auto_media_template,$(1)))
1089
+$$(BIN)/all$(1)s : $$(foreach DRIVER,$$(DRIVERS),$$(BIN)/$$(DRIVER).$(1))
1090
+$$(BIN)/allall : $$(BIN)/all$(1)s
1091
+all$(1)s : $$(BIN)/all$(1)s
1092
+allall : $$(BIN)/allall
1093
+endef
1094
+#
1095
+# $(1) is the media name (e.g. "rom")
1096
+#
1097
+define auto_media_template
1088 1098
 $$(BIN)/%.$(1) : $$(BIN)/%.$(1).zbin
1089 1099
 	$$(QM)echo "  [FINISH] $$@"
1090 1100
 	$$(Q)$$(CP) $$< $$@
@@ -1108,7 +1118,7 @@ $(BIN)/rules/%.media.r : $(MAKEDEPS)
1108 1118
 
1109 1119
 # Calculate list of media rules files
1110 1120
 #
1111
-MEDIA_RULES		= $(patsubst %,$(BIN)/rules/%.media.r,$(AUTO_MEDIA))
1121
+MEDIA_RULES		= $(patsubst %,$(BIN)/rules/%.media.r,$(MEDIA))
1112 1122
 mediarules :
1113 1123
 	@$(ECHO) $(MEDIA_RULES)
1114 1124
 
@@ -1117,7 +1127,7 @@ mediarules :
1117 1127
 ifdef NEED_DEPS
1118 1128
 ifneq ($(MEDIA_RULES),)
1119 1129
 ifneq ($(HAVE_EVAL),)
1120
-$(foreach MEDIUM,$(AUTO_MEDIA),$(eval $(call media_template,$(MEDIUM))))
1130
+$(foreach MEDIUM,$(MEDIA),$(eval $(call media_template,$(MEDIUM))))
1121 1131
 else
1122 1132
 -include $(MEDIA_RULES)
1123 1133
 endif
@@ -1133,12 +1143,6 @@ $(BIN)/%.o : payload/%.img
1133 1143
 
1134 1144
 BOBJS += $(patsubst payload/%.img,$(BIN)/%.o,$(wildcard payload/*.img))
1135 1145
 
1136
-# The "allXXXs" targets for each suffix
1137
-#
1138
-allall: allroms allmroms allpxes allisos alldsks
1139
-allroms allmroms : all%s : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).%)
1140
-allpxes allisos alldsks : all%s : $(foreach DRIVER,$(DRIVERS),$(BIN)/$(DRIVER).%)
1141
-
1142 1146
 # Alias for ipxe.%
1143 1147
 #
1144 1148
 $(BIN)/etherboot.% : $(BIN)/ipxe.%

+ 7
- 0
src/arch/i386/Makefile.pcbios Переглянути файл

@@ -40,6 +40,13 @@ PAD_exe		= $(PERL) $(PADIMG) --blksize=512
40 40
 FINALISE_rom	= $(PERL) $(FIXROM)
41 41
 FINALISE_mrom	= $(FINALISE_rom)
42 42
 
43
+# Add per-ROM targets for "allroms"
44
+#
45
+$(BIN)/allroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).rom)
46
+$(BIN)/allmroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).mrom)
47
+allroms : $(BIN)/allroms
48
+allmroms : $(BIN)/allmroms
49
+
43 50
 # rule to make a non-emulation ISO boot image
44 51
 NON_AUTO_MEDIA	+= iso
45 52
 %iso:	%lkrn util/geniso

Завантаження…
Відмінити
Зберегти