From: hpa Date: Fri, 4 Dec 1998 07:03:34 +0000 (+0000) Subject: Split the build between boot loader proper and installers; this will X-Git-Tag: syslinux-1.42-0x36678377^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=13f69230feecad016bd41bf54cea84c398771094;p=platform%2Fupstream%2Fsyslinux.git Split the build between boot loader proper and installers; this will permit distributors to rebuild the installers without changing the binary of the boot loader proper. --- diff --git a/Makefile b/Makefile index ce11427..54b8c09 100644 --- a/Makefile +++ b/Makefile @@ -27,22 +27,31 @@ VERSION = $(shell cat version) .c.o: $(CC) $(CFLAGS) -c $< +# +# The BTARGET refers to objects that are derived from ldlinux.asm; we +# like to keep those uniform for debugging reasons; however, distributors +# want to recompile the installers (ITARGET). +# SOURCES = ldlinux.asm syslinux.asm syslinux.c copybs.asm -TARGETS = bootsect.bin ldlinux.sys syslinux.com syslinux copybs.com +BTARGET = bootsect.bin ldlinux.sys stupid.c stupid.inc ldlinux.bin ldlinux.lst +ITARGET = syslinux.com syslinux copybs.com DOCS = COPYING NEWS README TODO syslinux.doc keytab-lilo.doc OTHER = Makefile bin2c.pl now.pl genstupid.pl keytab-lilo.pl version -all: $(TARGETS) - ls -l $(TARGETS) +all: $(BTARGET) $(ITARGET) + ls -l $(BTARGET) $(ITARGET) + +installer: $(ITARGET) + ls -l $(BTARGET) $(ITARGET) # The DATE is set on the make command line when building binaries for # official release. Otherwise, substitute a hex string that is pretty much # guaranteed to be unique to be unique from build to build. ifndef HEXDATE -HEXDATE = $(shell perl now.pl ldlinux.asm) +HEXDATE := $(shell perl now.pl ldlinux.asm) endif ifndef DATE -DATE = $(HEXDATE) +DATE := $(HEXDATE) endif ldlinux.bin: ldlinux.asm genstupid.pl @@ -81,10 +90,13 @@ install: all install -c syslinux $(BINDIR) tidy: - rm -f ldlinux.bin *.lst *.o *_bin.c stupid.* + rm -f syslinux.lst *.o *_bin.c clean: tidy - rm -f $(TARGETS) + rm -f $(ITARGET) + +spotless: clean + rm -f $(BTARGET) dist: tidy rm -f *~ \#* @@ -97,7 +109,7 @@ dist: tidy .PHONY: official release official: - $(MAKE) clean + $(MAKE) spotless $(MAKE) all DATE=`date +'%Y-%m-%d'` $(MAKE) dist @@ -122,7 +134,7 @@ prerel: -rm -f $(PRERELDIR)/$(PREREL).* mkdir -p $(PRERELDIR)/$(PREREL) cp $(SOURCES) $(DOCS) $(OTHER) $(PRERELDIR)/$(PREREL) - make -C $(PRERELDIR)/$(PREREL) clean + make -C $(PRERELDIR)/$(PREREL) spotless make -C $(PRERELDIR)/$(PREREL) HEXDATE="$(DATE)" make -C $(PRERELDIR)/$(PREREL) dist cd $(PRERELDIR) && tar cvvf - $(PREREL) | \ diff --git a/NEWS b/NEWS index 51dc084..9b93284 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,11 @@ Changes in 1.42: * Frob the "fast A20 gate" port as well as the keyboard controller; will this help systems with problems? + * Include some intermediate files in the distribution, plus + provide a "make installer" target for distributors to relink + the install programs only. I would prefer the syslinux boot + loader proper to be "binary clean" for debuggablity -- use + "make clean ; make installer" to rebuild the installers only. Changes in 1.41: * Don't get confused by directories, volume labels, or VFAT