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>
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 \
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