aboutsummaryrefslogtreecommitdiffstats
path: root/core/Makefile
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-20 02:15:01 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-05-20 02:24:36 -0700
commit0d82b71304d596d80f3c4520f9dcf90048ca50b7 (patch)
tree75cc3186d38587e67a34836984004f3f3e3ddb7e /core/Makefile
parentf1aa00224b23e2b4c71f204c1417c7b6e5ea8e51 (diff)
downloadsyslinux-0d82b71304d596d80f3c4520f9dcf90048ca50b7.tar.gz
core: LZO compress the PM part of the core
Use LZO to compress the PM part of the core. LZO is not the best compression algorithm, but it is very fast, and the decompressor is only 447 bytes long. The LZO code is part of the LZO 2.03 library. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/Makefile')
-rw-r--r--core/Makefile24
1 files changed, 13 insertions, 11 deletions
diff --git a/core/Makefile b/core/Makefile
index e9aec68f..04994c06 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -23,7 +23,7 @@ topdir = ..
include $(topdir)/MCONFIG.embedded
-include $(topdir)/version.mk
-OPTFLAGS =
+OPTFLAGS =
INCLUDES = -I./include -I$(com32)/include
# This is very similar to cp437; technically it's for Norway and Denmark,
@@ -41,19 +41,23 @@ BTARGET = kwdhash.gen \
NASMSRC := $(wildcard *.asm)
NASMHDR := $(wildcard *.inc)
CSRC := $(wildcard *.c)
+SSRC := $(wildcard *.S lzo/*.S)
CHDR := $(wildcard *.h)
OTHERSRC := keywords
-ALLSRC = $(NASMSRC) $(NASMHDR) $(CSRC) $(CHDR) $(OTHERSRC)
+ALLSRC = $(NASMSRC) $(NASMHDR) $(CSRC) $(SSRC) $(CHDR) $(OTHERSRC)
COBJ := $(patsubst %.c,%.o,$(CSRC))
+SOBJ := $(patsubst %.S,%.o,$(SSRC))
LIB = libcore.a
LIBS = $(LIB) $(com32)/lib/libcom32.a $(LIBGCC)
-LIBOBJS = $(COBJ)
+LIBOBJS = $(COBJ) $(SOBJ)
NASMDEBUG = -g -F stabs
NASMOPT += $(NASMDEBUG)
+PREPCORE = ../lzo/prepcore
+
# 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.
@@ -71,14 +75,11 @@ kwdhash.gen: keywords genhash.pl
.PRECIOUS: %.elf
-# Standard rule for {isolinux,isolinux-debug}.bin
-iso%.bin: iso%.elf checksumiso.pl
- $(OBJCOPY) -O binary $< $@
- $(PERL) checksumiso.pl $@
+%.raw: %.elf
+ $(OBJCOPY) -O binary $< $(@:.bin=.raw)
-# Standard rule for {ldlinux,pxelinux,extlinux}.bin
-%.bin: %.elf
- $(OBJCOPY) -O binary $< $@
+%.bin: %.raw $(PREPCORE)
+ $(PREPCORE) $< $@
%.o: %.asm kwdhash.gen ../version.gen
( $(NASM) -f elf $(NASMOPT) -M -DDEPEND $(NINCLUDE) \
@@ -129,6 +130,7 @@ netinstall: installer
tidy dist:
rm -f codepage.cp *.o *.elf *.a stupid.* patch.offset .depend .*.d
rm -f *.lsr *.lst *.map *.sec
+ rm -f */*.o */*.lst */.*.d
rm -f $(OBSOLETE)
clean: tidy
@@ -137,4 +139,4 @@ spotless: clean
rm -f $(BTARGET) *.bin *_bin.c
# Include dependencies file
--include .*.d
+-include .*.d */.*.d