[syslinux] extlinux VPATH build issue

Zach Carter z.carter at F5.com
Fri May 30 09:29:27 PDT 2008


Hi:

I've been seeing intermittent build failures with the extlinux target,
and I believe I've tracked it down to a VPATH issue.  See this make -d
log: 

     Finished prerequisites of target file `extlinux'.
     Prerequisite `extlinux.o' is newer than target `extlinux'.
     Prerequisite `setadv.o' is newer than target `extlinux'.
     Prerequisite `extlinux_bss_bin.o' is newer than target `extlinux'.
     Prerequisite `extlinux_sys_bin.o' is newer than target `extlinux'.
    No need to remake target `extlinux'; using VPATH name `../extlinux'.

Since the CWD is named extlinux, and the VPATH includes '..', make is
using the timestamp on the '../extlinux' directory to decide whether to
remake the 'extlinux' executable.  

I believe the included fix should resolve the issue.  It tells make to
only use the VPATH for *.c and *.o files, which means the VPATH will not
be searched for the 'extlinux' executable.  

In case my email client munges up the patch, here is a link:

	www.zachcarter.com/extlinux-scrict-vpath.patch

diff --git a/extlinux/Makefile b/extlinux/Makefile
index f426702..f155012 100644
--- a/extlinux/Makefile
+++ b/extlinux/Makefile
@@ -17,7 +17,7 @@ OBJS   = $(patsubst %.c,%.o,$(notdir $(SRCS)))
 
 .SUFFIXES: .c .o .i .s .S
 
-VPATH = .:..:../libinstaller
+vpath %.c %.o .:..:../libinstaller
 
 all: installer
 




More information about the Syslinux mailing list