diff options
author | hpa <hpa> | 1998-12-04 07:03:34 +0000 |
---|---|---|
committer | hpa <hpa> | 1998-12-04 07:03:34 +0000 |
commit | 13f69230feecad016bd41bf54cea84c398771094 (patch) | |
tree | 22a7cf2eebd07939ea8e0db3e5ce7ecaf7a4f5fe | |
parent | 42c34bbc69fbeab16e89b4a2d54d3af34c5c3612 (diff) | |
download | syslinux-13f69230feecad016bd41bf54cea84c398771094.tar.gz |
Split the build between boot loader proper and installers; this willsyslinux-1.42-0x366788f5syslinux-1.42-0x36678377
permit distributors to rebuild the installers without changing the binary
of the boot loader proper.
-rw-r--r-- | Makefile | 30 | ||||
-rw-r--r-- | NEWS | 5 |
2 files changed, 26 insertions, 9 deletions
@@ -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) | \ @@ -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 |