summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2005-10-12 16:12:36 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2005-10-12 16:12:36 +0000
commit3a7ac9c7a7b4d6181d3cd70a9cb85d93a1938238 (patch)
treef87aedb508cd30ff8d50b75dbe832d34ac5dad85 /libc/sysdeps/linux/i386
parentb0c8130cec05f40ce926058d18fbc520b1a0e856 (diff)
Rewrote almost all Makefiles: do not use strip $(x),y; run strip on all objects at once; use :=//$</$^; use CRT_SRC/CRT_OBJ/SCRT_OBJ/CSRC/COBJ/SSRC/SOBJ/MSRC/MOBJ where no more is needed, if only CSRC is present use OBJS directly instead of COBJ; CTOR_TARGETS are created directly in lib; remove unused/unneeded parts. Hope I haven't broken too much.
Diffstat (limited to 'libc/sysdeps/linux/i386')
-rw-r--r--libc/sysdeps/linux/i386/Makefile58
1 files changed, 23 insertions, 35 deletions
diff --git a/libc/sysdeps/linux/i386/Makefile b/libc/sysdeps/linux/i386/Makefile
index e1795e0e5..ea61b8f3a 100644
--- a/libc/sysdeps/linux/i386/Makefile
+++ b/libc/sysdeps/linux/i386/Makefile
@@ -19,66 +19,54 @@
TOPDIR=../../../../
include $(TOPDIR)Rules.mak
-CRT_SRC = crt1.S
-CRT_OBJ = crt1.o
-SCRT_OBJ = $(patsubst %,S%, $(CRT_OBJ))
-CTOR_TARGETS=$(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
+CRT_SRC := crt1.S
+CRT_OBJ := crt1.o
+SCRT_OBJ := Scrt1.o
+CTOR_TARGETS := $(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
-SSRC=__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
+SSRC := __longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
bsd-_setjmp.S syscall.S mmap.S mmap64.S
-SOBJS=$(patsubst %.S,%.o, $(SSRC))
+SOBJ := $(patsubst %.S,%.o, $(SSRC))
-CSRC=brk.c sigaction.c __syscall_error.c
-COBJS=$(patsubst %.c,%.o, $(CSRC))
+CSRC := brk.c sigaction.c __syscall_error.c
+COBJ := $(patsubst %.c,%.o, $(CSRC))
-OBJS=$(SOBJS) $(COBJS)
+OBJS := $(SOBJ) $(COBJ)
-OBJ_LIST=../../../obj.sysdeps.$(TARGET_ARCH)
+OBJ_LIST := ../../../obj.sysdeps.$(TARGET_ARCH)
-all: $(OBJ_LIST)
+all: $(OBJ_LIST) $(CTOR_TARGETS)
-$(OBJ_LIST): $(OBJS) $(CRT_OBJ) $(SCRT_OBJ) $(CTOR_TARGETS)
- echo $(patsubst %, sysdeps/linux/$(TARGET_ARCH)/%, $(OBJS)) > $(OBJ_LIST)
+$(OBJ_LIST): $(OBJS) $(CRT_OBJ) $(SCRT_OBJ)
+ $(STRIPTOOL) -x -R .note -R .comment $^
$(INSTALL) -d $(TOPDIR)lib/
cp $(CRT_OBJ) $(SCRT_OBJ) $(TOPDIR)lib/
+ echo $(patsubst %, sysdeps/linux/$(TARGET_ARCH)/%, $(OBJS)) > $@
$(CRT_OBJ): $(CRT_SRC)
$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
$(SCRT_OBJ): $(CRT_SRC)
$(CC) $(ASFLAGS) $(PIEFLAG) -DL_$* $< -c -o $*.o
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-$(SOBJS): %.o : %.S
+$(SOBJ): %.o : %.S
$(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-$(COBJS): %.o : %.c
+$(COBJ): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
-crti.o: crti.S
- $(CC) $(ASFLAGS) $(SSP_DISABLE_FLAGS) -c crti.S -o crti.o
-
-$(TOPDIR)lib/crti.o: crti.o
+ifeq ($(UCLIBC_CTOR_DTOR),y)
+$(TOPDIR)lib/crti.o: crti.S
$(INSTALL) -d $(TOPDIR)lib/
- cp crti.o $(TOPDIR)lib/
-
-crtn.o: crtn.S
- $(CC) $(ASFLAGS) $(SSP_DISABLE_FLAGS) -c crtn.S -o crtn.o
+ $(CC) $(ASFLAGS) $(SSP_DISABLE_FLAGS) -c $< -o $@
-$(TOPDIR)lib/crtn.o: crtn.o
+$(TOPDIR)lib/crtn.o: crtn.S
$(INSTALL) -d $(TOPDIR)lib/
- cp crtn.o $(TOPDIR)lib/
+ $(CC) $(ASFLAGS) $(SSP_DISABLE_FLAGS) -c $< -o $@
else
-$(TOPDIR)lib/crti.o:
- $(INSTALL) -d $(TOPDIR)lib/
- $(AR) $(ARFLAGS) $(TOPDIR)lib/crti.o
-$(TOPDIR)lib/crtn.o:
+$(CTOR_TARGETS):
$(INSTALL) -d $(TOPDIR)lib/
- $(AR) $(ARFLAGS) $(TOPDIR)lib/crtn.o
+ $(AR) $(ARFLAGS) $@
endif
headers: