[syslinux:elflink] Clean up $(GPLLIB) leak

syslinux-bot for Matt Fleming matt.fleming at intel.com
Tue Oct 23 04:09:07 PDT 2012


Commit-ID:  b26d1c8642a8d68e02ac06f427c3eb47185d735a
Gitweb:     http://www.syslinux.org/commit/b26d1c8642a8d68e02ac06f427c3eb47185d735a
Author:     Matt Fleming <matt.fleming at intel.com>
AuthorDate: Fri, 19 Oct 2012 10:55:13 +0100
Committer:  Matt Fleming <matt.fleming at intel.com>
CommitDate: Fri, 19 Oct 2012 12:55:05 +0100

Clean up $(GPLLIB) leak

Modules were linking against com32/gpllib/libcom32gpl.c32 even when
NOGPL was set, so remove it from various modules Makefiles and use
$(C_LIBS) in mk/elf.mk which already has the conditional-magic for
$(GPLLIB).

Also, the object files in com32/gpllib/ are not distributed in the
release tarballs, which means that if a user does a 'make netinstall'
they hit the following install error,

	install: cannot stat `com32/gpllib/*.c32': No such file or directory

Add a $(INSTALLABLE_MODULES) variable to separate the list of build
and install modules.

Signed-off-by: Matt Fleming <matt.fleming at intel.com>

---
 Makefile               |   10 ++++++----
 com32/hdt/Makefile     |    4 +---
 com32/modules/Makefile |    5 +----
 mk/elf.mk              |    2 +-
 4 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index 499ca5e..f25a922 100644
--- a/Makefile
+++ b/Makefile
@@ -30,7 +30,6 @@ include $(MAKEDIR)/syslinux.mk
 # directories.
 #
 
-# List of module objects that should be installed for all derivatives
 MODULES = memdisk/memdisk memdump/memdump.com modules/*.com \
 	com32/menu/*.c32 com32/modules/*.c32 com32/mboot/*.c32 \
 	com32/hdt/*.c32 com32/rosh/*.c32 com32/gfxboot/*.c32 \
@@ -38,6 +37,9 @@ MODULES = memdisk/memdisk memdump/memdump.com modules/*.com \
 	com32/lib/*.c32 com32/libutil/*.c32 com32/gpllib/*.c32 \
 	com32/elflink/ldlinux/*.c32
 
+# List of module objects that should be installed for all derivatives
+INSTALLABLE_MODULES = $(filter-out com32/gpllib%,$(MODULES))
+
 # syslinux.exe is BTARGET so as to not require everyone to have the
 # mingw suite installed
 BTARGET  = version.gen version.h version.mk
@@ -71,7 +73,7 @@ INSTALL_SBIN  = extlinux/extlinux
 INSTALL_AUX   =	core/pxelinux.0 gpxe/gpxelinux.0 gpxe/gpxelinuxk.0 \
 		core/isolinux.bin core/isolinux-debug.bin \
 		dos/syslinux.com \
-		mbr/*.bin $(MODULES)
+		mbr/*.bin $(INSTALLABLE_MODULES)
 INSTALL_AUX_OPT = win32/syslinux.exe win64/syslinux64.exe
 INSTALL_DIAG  =	diag/mbr/handoff.bin \
 		diag/geodsp/geodsp1s.img.xz diag/geodsp/geodspms.img.xz
@@ -80,11 +82,11 @@ INSTALL_DIAG  =	diag/mbr/handoff.bin \
 INSTALLSUBDIRS = com32 utils dosutil
 
 # Things to install in /boot/extlinux
-EXTBOOTINSTALL = $(MODULES)
+EXTBOOTINSTALL = $(INSTALLABLE_MODULES)
 
 # Things to install in /tftpboot
 NETINSTALLABLE = core/pxelinux.0 gpxe/gpxelinux.0 \
-		 $(MODULES)
+		 $(INSTALLABLE_MODULES)
 
 all:
 	$(MAKE) all-local
diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile
index ff0fa2e..897b660 100644
--- a/com32/hdt/Makefile
+++ b/com32/hdt/Makefile
@@ -20,9 +20,7 @@ MAKEDIR = $(topdir)/mk
 include $(MAKEDIR)/elf.mk
 
 LIBS      = ../libupload/libcom32upload.a
-C_LIBS    += $(com32)/cmenu/libmenu/libmenu.c32 \
-	     $(com32)/libutil/libutil_com.c32 \
-	     $(com32)/lib/libcom32.c32 $(com32)/gpllib/libcom32gpl.c32
+C_LIBS    += $(com32)/cmenu/libmenu/libmenu.c32
 CFLAGS    += -I$(com32)/cmenu/libmenu -I$(com32)
 
 MODULES	  = hdt.c32
diff --git a/com32/modules/Makefile b/com32/modules/Makefile
index 8f5b769..dd5f2e0 100644
--- a/com32/modules/Makefile
+++ b/com32/modules/Makefile
@@ -15,9 +15,6 @@
 ## COM32 standard modules
 ##
 
-LIBS = $(com32)/gpllib/libcom32gpl.c32 $(com32)/lib/libcom32.c32 \
-	$(com32)/libutil/libutil_com.c32
-
 topdir = ../..
 MAKEDIR = $(topdir)/mk
 include $(MAKEDIR)/elf.mk
@@ -37,7 +34,7 @@ all: $(MODULES) $(TESTFILES)
 dmitest.o: dmitest.c
 	$(CC) $(CFLAGS) $(GPLINCLUDE) -c -o $@ $<
 
-dmitest.c32 :  dmi_utils.o dmitest.o $(GPLLIB) $(LIBS) $(C_LIBS)
+dmitest.c32 :  dmi_utils.o dmitest.o $(C_LIBS)
 	$(LD) $(LDFLAGS) -o $@ $^
 
 tidy dist:
diff --git a/mk/elf.mk b/mk/elf.mk
index 4e76c71..160dadc 100644
--- a/mk/elf.mk
+++ b/mk/elf.mk
@@ -81,5 +81,5 @@ C_LNXLIBS  = $(com32)/libutil/libutil_lnx.a \
 %.lnx: %.lo $(LNXLIBS) $(C_LNXLIBS)
 	$(CC) $(LNXCFLAGS) -o $@ $^
 
-%.c32: %.o $(LIBS)
+%.c32: %.o $(C_LIBS)
 	$(LD) $(LDFLAGS) -o $@ $^


More information about the Syslinux-commits mailing list