aboutsummaryrefslogtreecommitdiffstats
path: root/com32/elflink/ldlinux/Makefile
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@linux.intel.com>2011-02-13 21:02:51 +0000
committerMatt Fleming <matt.fleming@linux.intel.com>2011-03-09 14:32:36 +0000
commitfd86cda5f1cb5bb1c33579105d0f2f515f50c3a4 (patch)
treed392729b82031d680df5d50f05d09dac4b213334 /com32/elflink/ldlinux/Makefile
parent2adb4a29248b8def7a967802ec1595024e8b77d6 (diff)
downloadsyslinux-fd86cda5f1cb5bb1c33579105d0f2f515f50c3a4.tar.gz
syslinux-fd86cda5f1cb5bb1c33579105d0f2f515f50c3a4.tar.xz
syslinux-fd86cda5f1cb5bb1c33579105d0f2f515f50c3a4.zip
elflink: Move code out of core and into ldlinux.c32
Currently, there is a lot of code in core/elflink that is not strictly required for the core to function. There are benefits to keeping the core proper as small as possible, for example so that it can fit within a single 64K block on btrfs. So move the following pieces of code out of core/elflink and into a new ldlinux ELF module which will be automatically loaded by the core: - command line interface code - C configuration parser - refstr implementation - rest of the menu system Below are some measurements of the size of ldlinux.elf before and after this change. Before: text data bss dec hex filename 161328 10439 913468 1085235 108f33 core/ldlinux.elf After: text data bss dec hex filename 142423 10415 909500 1062338 1035c2 core/ldlinux.elf Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Diffstat (limited to 'com32/elflink/ldlinux/Makefile')
-rw-r--r--com32/elflink/ldlinux/Makefile38
1 files changed, 38 insertions, 0 deletions
diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile
new file mode 100644
index 00000000..339e13ee
--- /dev/null
+++ b/com32/elflink/ldlinux/Makefile
@@ -0,0 +1,38 @@
+## -----------------------------------------------------------------------
+##
+## Copyright 2011 Intel Corporation - All Rights Reserved
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+## Boston MA 02111-1307, USA; either version 2 of the License, or
+## (at your option) any later version; incorporated herein by reference.
+##
+## -----------------------------------------------------------------------
+
+topdir = ../../..
+include ../modules/MCONFIG
+
+CFLAGS += -I../modules -I$(topdir)/core/elflink
+
+all: ldlinux.c32
+
+ldlinux.c32 : ldlinux.o cli.o readconfig.o refstr.o colors.o getadv.o \
+ adv.o ipappend.o
+ $(LD) $(LDFLAGS) -o $@ $^
+
+tidy dist:
+ rm -f *.o *.lo *.a *.lst .*.d
+
+clean: tidy
+ rm -f *.lss *.lnx *.com *.c32
+
+spotless: clean
+ rm -f *~ \#*
+
+install: all
+ mkdir -m 755 -p $(INSTALLROOT)$(AUXDIR)
+ install -m 644 ldlinux.c32 $(INSTALLROOT)$(AUXDIR)
+
+
+-include .*.d