diff options
author | Stefan Bucur <stefanb@zytor.com> | 2008-08-23 16:29:25 +0300 |
---|---|---|
committer | Stefan Bucur <stefan@stefan-ubumac.(none)> | 2009-03-15 10:12:28 +0200 |
commit | 076f64b166ba2fcb163e9dc0acba7d0525d26ea5 (patch) | |
tree | 642a871aeb927d0e5b8ce70157452a58c81304ba | |
parent | b60355c48afd44caff44ee1ba3c93126416e2107 (diff) | |
download | syslinux-elf-076f64b166ba2fcb163e9dc0acba7d0525d26ea5.tar.gz syslinux-elf-076f64b166ba2fcb163e9dc0acba7d0525d26ea5.tar.xz syslinux-elf-076f64b166ba2fcb163e9dc0acba7d0525d26ea5.zip |
elflink: Cleaned up makefiles.
-rw-r--r-- | com32/elflink/Makefile | 69 | ||||
-rw-r--r-- | com32/elflink/modules/MCONFIG | 62 | ||||
-rw-r--r-- | com32/elflink/modules/Makefile | 70 |
3 files changed, 69 insertions, 132 deletions
diff --git a/com32/elflink/Makefile b/com32/elflink/Makefile index 5995509b..011e18d3 100644 --- a/com32/elflink/Makefile +++ b/com32/elflink/Makefile @@ -10,79 +10,16 @@ ## ## ----------------------------------------------------------------------- - -TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) -CC = gcc - -gcc_ok = $(shell tmpf=$(TMPFILE); if $(CC) $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ - then echo $(1); else echo $(2); fi; rm -f $$tmpf) - -M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) - -LD = ld -m elf_i386 -AR = ar -NASM = nasm -NASMOPT = -O9999 -RANLIB = ranlib -CFLAGS = $(M32) -mregparm=3 -DREGPARM=3 -W -Wall -march=i386 -Os \ - -fomit-frame-pointer -D__COM32__ \ - -nostdinc -iwithprefix include \ - -I../libutil/include -I../include \ - -Wp,-MT,$@,-MD,$(dir $@).$(notdir $@).d -LNXCFLAGS = -W -Wall -O -g -I../libutil/include -LNXSFLAGS = -g -LNXLDFLAGS = -g -SFLAGS = -D__COM32__ -march=i386 -LDFLAGS = -T ../lib/com32.ld -OBJCOPY = objcopy -PPMTOLSS16 = ../ppmtolss16 -LIBGCC := $(shell $(CC) --print-libgcc) -LIBS = ../libutil/libutil_com.a ../lib/libcom32.a $(LIBGCC) -LNXLIBS = ../libutil/libutil_lnx.a - -.SUFFIXES: .lss .c .o .elf .c32 .lnx - -BINDIR = /usr/bin -LIBDIR = /usr/lib -DATADIR = /usr/share -AUXDIR = $(DATADIR)/syslinux -INCDIR = /usr/include -COM32DIR = $(AUXDIR)/com32 +topdir = ../.. +include ../MCONFIG MODULES = test_memalign.c32 test_com32.c32 TESTFILES = all: $(MODULES) $(TESTFILES) - -.PRECIOUS: %.o -%.o: %.S - $(CC) $(SFLAGS) -c -o $@ $< - -.PRECIOUS: %.o -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< - -.PRECIOUS: %.elf -%.elf: %.o $(LIBS) - $(LD) $(LDFLAGS) -o $@ $^ - -.PRECIOUS: %.lo -%.lo: %.S - $(CC) $(LNXSFLAGS) -c -o $@ $< - -.PRECIOUS: %.lo -%.lo: %.c - $(CC) $(LNXCFLAGS) -c -o $@ $< - -.PRECIOUS: %.lnx -%.lnx: %.lo $(LNXLIBS) - $(CC) $(LNXLDFLAGS) -o $@ $^ - -%.c32: %.elf - $(OBJCOPY) -O binary $< $@ -test_memalign.elf : test_memalign.o $(LIBS) +test_memalign.elf : test_memalign.o $(LIBS) $(C_LIBS) $(LD) $(LDFLAGS) -o $@ $^ test_com32.elf: CFLAGS += -DELF_DEBUG diff --git a/com32/elflink/modules/MCONFIG b/com32/elflink/modules/MCONFIG new file mode 100644 index 00000000..18845877 --- /dev/null +++ b/com32/elflink/modules/MCONFIG @@ -0,0 +1,62 @@ +## -*- makefile -*- ------------------------------------------------------- +## +## Copyright 2008 H. Peter Anvin - 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., 51 Franklin St, Fifth Floor, +## Boston MA 02110-1301, USA; either version 2 of the License, or +## (at your option) any later version; incorporated herein by reference. +## +## ----------------------------------------------------------------------- + +## +## COM32 common configurables +## + +include $(topdir)/MCONFIG + +GCCOPT := $(call gcc_ok,-std=gnu99,) \ + $(call gcc_ok,-m32,) \ + $(call gcc_ok,-fno-stack-protector,) \ + -mregparm=3 -DREGPARM=3 -march=i386 -Os + +com32 = $(topdir)/com32 + +CFLAGS = $(GCCOPT) -W -Wall -march=i386 \ + -fomit-frame-pointer -D__COM32__ -DDYNAMIC_MODULE \ + -nostdinc -iwithprefix include \ + -I$(com32)/libutil/include -I$(com32)/include +SFLAGS = $(GCCOPT) -D__COM32__ -march=i386 +LDFLAGS = -m elf_i386 -shared -T $(com32)/lib/elf32.ld +LIBGCC := $(shell $(CC) $(GCCOPT) --print-libgcc) + +LNXCFLAGS = -I$(com32)/libutil/include -W -Wall -O -g -D_GNU_SOURCE +LNXSFLAGS = -g +LNXLDFLAGS = -g + +.SUFFIXES: .lss .c .o .dyn + +.PRECIOUS: %.o +%.o: %.S + $(CC) $(SFLAGS) -c -o $@ $< + +.PRECIOUS: %.o +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +.PRECIOUS: %.dyn +%.dyn: %.o $(LIBS) + $(LD) $(LDFLAGS) -o $@ $^ + +.PRECIOUS: %.lo +%.lo: %.S + $(CC) $(LNXSFLAGS) -c -o $@ $< + +.PRECIOUS: %.lo +%.lo: %.c + $(CC) $(LNXCFLAGS) -c -o $@ $< + +.PRECIOUS: %.lnx +%.lnx: %.lo $(LNXLIBS) + $(CC) $(LNXLDFLAGS) -o $@ $^ diff --git a/com32/elflink/modules/Makefile b/com32/elflink/modules/Makefile index 9eeef1a9..6bf17e3c 100644 --- a/com32/elflink/modules/Makefile +++ b/com32/elflink/modules/Makefile @@ -10,81 +10,19 @@ ## ## ----------------------------------------------------------------------- -## -## COM32 standard modules -## - -TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX) -CC = gcc - -gcc_ok = $(shell tmpf=$(TMPFILE); if $(CC) $(1) -c -x c /dev/null -o $$tmpf 2>/dev/null; \ - then echo $(1); else echo $(2); fi; rm -f $$tmpf) - -M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-fno-stack-protector,) - -LD = ld -m elf_i386 -AR = ar -NASM = nasm -NASMOPT = -O9999 -RANLIB = ranlib -CFLAGS = $(M32) -mregparm=3 -DREGPARM=3 -W -Wall -march=i386 -Os \ - -fomit-frame-pointer -D__COM32__ -DDYNAMIC_MODULE \ - -nostdinc -iwithprefix include \ - -I../../libutil/include -I../../include \ - -Wp,-MT,$@,-MD,$(dir $@).$(notdir $@).d -LNXCFLAGS = -W -Wall -O -g -I../libutil/include -LNXSFLAGS = -g -LNXLDFLAGS = -g -SFLAGS = -D__COM32__ -march=i386 -LDFLAGS = -shared -T ../../lib/elf32.ld -OBJCOPY = objcopy -PPMTOLSS16 = ../ppmtolss16 -LIBGCC := $(shell $(CC) --print-libgcc) -LIBS = $(LIBGCC) - -.SUFFIXES: .lss .c .o .dyn - -BINDIR = /usr/bin -LIBDIR = /usr/lib -DATADIR = /usr/share -AUXDIR = $(DATADIR)/syslinux -INCDIR = /usr/include -COM32DIR = $(AUXDIR)/com32 +topdir = ../../.. +include MCONFIG MODULES = hello.dyn sort.dyn TESTFILES = all: $(MODULES) $(TESTFILES) - -.PRECIOUS: %.o -%.o: %.S - $(CC) $(SFLAGS) -c -o $@ $< - -.PRECIOUS: %.o -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< - -.PRECIOUS: %.dyn -%.dyn: %.o $(LIBS) - $(LD) $(LDFLAGS) -o $@ $^ - -.PRECIOUS: %.lo -%.lo: %.S - $(CC) $(LNXSFLAGS) -c -o $@ $< - -.PRECIOUS: %.lo -%.lo: %.c - $(CC) $(LNXCFLAGS) -c -o $@ $< - -.PRECIOUS: %.lnx -%.lnx: %.lo $(LNXLIBS) - $(CC) $(LNXLDFLAGS) -o $@ $^ -hello.dyn : hello.o $(LIBS) +hello.dyn : hello.o $(LD) $(LDFLAGS) -o $@ $^ -sort.dyn : sort.o $(LIBS) +sort.dyn : sort.o $(LD) $(LDFLAGS) -o $@ $^ tidy dist: |