ldlinux: Don't delete ldlinux.c32 with 'make clean'
authorMatt Fleming <matt.fleming@intel.com>
Fri, 4 Jan 2013 11:33:21 +0000 (11:33 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 4 Jan 2013 11:43:53 +0000 (11:43 +0000)
The documented command sequence for distributions wishing to package a
Syslinux release is,

 make clean
 make installer

Unfortunately, becaues ldlinux.c32 is deleted by 'make clean' the
installer target fails like so,

make[1]: *** No rule to make target `../com32/elflink/ldlinux/ldlinux.c32', needed by `ldlinuxc32_bin.c'.  Stop.
make: *** [installer] Error 2

Follow the example set by core/Makefile for ldlinux.sys, etc and add
any build files that are required by the installers to
$(BTARGET). $(BTARGET) only gets deleted when running 'make spotless'.

Reported-by: László Házy <hazy_l@yahoo.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
com32/elflink/ldlinux/Makefile

index 43ea632..fa53226 100644 (file)
@@ -17,7 +17,9 @@ include $(MAKEDIR)/elf.mk
 CFLAGS += -I$(topdir)/core/elflink -I$(topdir)/core/include -I$(topdir)/com32/lib -fvisibility=hidden
 LIBS = --whole-archive $(com32)/lib/libcom32min.a
 
-all: ldlinux.c32 ldlinux_lnx.a
+BTARGET = ldlinux.c32
+
+all: $(BTARGET) ldlinux_lnx.a
 
 ldlinux.c32 : ldlinux.o cli.o readconfig.o refstr.o colors.o getadv.o \
                adv.o execute.o chainboot.o kernel.o get_key.o \
@@ -35,14 +37,14 @@ tidy dist:
        rm -f *.o *.lo *.a *.lst .*.d 
 
 clean: tidy
-       rm -f *.lss *.lnx *.com *.c32
+       rm -f *.lss *.lnx *.com
 
 spotless: clean
-       rm -f *~ \#*
+       rm -f *~ \#* $(BTARGET)
 
 install: all
        mkdir -m 755 -p $(INSTALLROOT)$(AUXDIR)
-       install -m 644 ldlinux.c32 $(INSTALLROOT)$(AUXDIR)
+       install -m 644 $(BTARGET) $(INSTALLROOT)$(AUXDIR)
 
 
 -include .*.d