Browse Source

[build] Fix broken build caused by implied dependency upon "perl"

Commit ea12dc0 ("[build] Avoid hard-coding the path to perl")
introduced a build failure for fully clean trees (e.g. after running
"make veryclean"), since the dependency upon $(PARSEROM) now includes
a dependency upon "perl" (which doesn't exist) rather than upon
"/usr/bin/perl" (which does exist).

There should of course be no dependency upon the perl binary at all;
the dependency should be upon "./util/parserom.pl" alone.

Fix by removing the $(PERL) from the definition of Perl-based utility
paths, and adding $(PERL) at the point of usage.

Reported-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 14 years ago
parent
commit
719b49879d
3 changed files with 14 additions and 14 deletions
  1. 6
    6
      src/Makefile
  2. 4
    4
      src/Makefile.housekeeping
  3. 4
    4
      src/arch/i386/Makefile.pcbios

+ 6
- 6
src/Makefile View File

@@ -31,12 +31,12 @@ RANLIB		:= $(CROSS_COMPILE)ranlib
31 31
 OBJCOPY		:= $(CROSS_COMPILE)objcopy
32 32
 NM		:= $(CROSS_COMPILE)nm
33 33
 OBJDUMP		:= $(CROSS_COMPILE)objdump
34
-PARSEROM	:= $(PERL) ./util/parserom.pl
35
-FIXROM		:= $(PERL) ./util/fixrom.pl
36
-SYMCHECK	:= $(PERL) ./util/symcheck.pl
37
-SORTOBJDUMP	:= $(PERL) ./util/sortobjdump.pl
38
-PADIMG		:= $(PERL) ./util/padimg.pl
39
-LICENCE		:= $(PERL) ./util/licence.pl
34
+PARSEROM	:= ./util/parserom.pl
35
+FIXROM		:= ./util/fixrom.pl
36
+SYMCHECK	:= ./util/symcheck.pl
37
+SORTOBJDUMP	:= ./util/sortobjdump.pl
38
+PADIMG		:= ./util/padimg.pl
39
+LICENCE		:= ./util/licence.pl
40 40
 NRV2B		:= ./util/nrv2b
41 41
 ZBIN		:= ./util/zbin
42 42
 ELF2EFI32	:= ./util/elf2efi32

+ 4
- 4
src/Makefile.housekeeping View File

@@ -486,7 +486,7 @@ define src_template
486 486
 		 '\n$(2) : $$($(4)_DEPS)\n' \
487 487
 		 '\nTAGS : $$($(4)_DEPS)\n' \
488 488
 		>> $(2)
489
-	@$(PARSEROM) $(1) >> $(2)
489
+	@$(PERL) $(PARSEROM) $(1) >> $(2)
490 490
 
491 491
 endef
492 492
 
@@ -701,7 +701,7 @@ $(BIN)/%.tmp : $(BLIB) $(MAKEDEPS) $(LDSCRIPT)
701 701
 	$(QM)$(ECHO) "  [LD] $@"
702 702
 	$(Q)$(LD) $(LDFLAGS) -T $(LDSCRIPT) $(TGT_LD_FLAGS) $(BLIB) -o $@ \
703 703
 		--defsym _build_id=`$(BUILD_ID_CMD)` -Map $(BIN)/$*.tmp.map
704
-	$(Q)$(OBJDUMP) -ht $@ | $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
704
+	$(Q)$(OBJDUMP) -ht $@ | $(PERL) $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
705 705
 
706 706
 # Keep intermediate object file (useful for debugging)
707 707
 .PRECIOUS : $(BIN)/%.tmp
@@ -758,7 +758,7 @@ $(BIN)/%.licence : $(BIN)/%.tmp
758 758
 		echo "files are missing a licence declaration:" ;\
759 759
 		echo $(call unlicensed_deps_list,$<);\
760 760
 		exit 1,\
761
-		$(LICENCE) $(call licence_list,$<))
761
+		$(PERL) $(LICENCE) $(call licence_list,$<))
762 762
 
763 763
 # Extract compression information from intermediate object file
764 764
 #
@@ -986,7 +986,7 @@ $(SYMTAB) : $(BLIB)
986 986
 CLEANUP	+= $(BIN)/symtab
987 987
 
988 988
 symcheck : $(SYMTAB)
989
-	$(SYMCHECK) $<
989
+	$(PERL) $(SYMCHECK) $<
990 990
 
991 991
 endif # defined(BIN)
992 992
 

+ 4
- 4
src/arch/i386/Makefile.pcbios View File

@@ -23,14 +23,14 @@ MEDIA		+= raw
23 23
 
24 24
 # Padding rules
25 25
 #
26
-PAD_rom		= $(PADIMG) --blksize=512 --byte=0xff $@
26
+PAD_rom		= $(PERL) $(PADIMG) --blksize=512 --byte=0xff $@
27 27
 PAD_mrom	= $(PAD_rom)
28
-PAD_dsk		= $(PADIMG) --blksize=512 $@
29
-PAD_hd		= $(PADIMG) --blksize=32768 $@
28
+PAD_dsk		= $(PERL) $(PADIMG) --blksize=512 $@
29
+PAD_hd		= $(PERL) $(PADIMG) --blksize=32768 $@
30 30
 
31 31
 # Finalisation rules
32 32
 #
33
-FINALISE_rom	= $(FIXROM) $@
33
+FINALISE_rom	= $(PERL) $(FIXROM) $@
34 34
 FINALISE_mrom	= $(FINALISE_rom)
35 35
 
36 36
 # rule to make a non-emulation ISO boot image

Loading…
Cancel
Save