summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/arm/Makefile')
-rw-r--r--libc/sysdeps/linux/arm/Makefile12
1 files changed, 10 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/arm/Makefile b/libc/sysdeps/linux/arm/Makefile
index 7d901b769..a75e47715 100644
--- a/libc/sysdeps/linux/arm/Makefile
+++ b/libc/sysdeps/linux/arm/Makefile
@@ -25,7 +25,10 @@ include $(TOPDIR)Rules.mak
LIBC=$(TOPDIR)libc.a
ASFLAGS=$(CFLAGS)
-SSRC=_start.S longjmp.S setjmp.S
+CRT0=_start.S
+CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0))
+
+SSRC=longjmp.S setjmp.S
SOBJS=$(patsubst %.S,%.o, $(SSRC))
CSRC=fork.c vfork.c
@@ -34,13 +37,18 @@ COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(SOBJS) $(MOBJ) $(COBJS)
-all: $(OBJS) $(LIBC)
+all: $(OBJS) $(CRT0_OBJ) $(LIBC)
$(LIBC): ar-target
ar-target: $(OBJS)
$(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(CRT0_OBJ): %.o : %.S
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+ cp $*.o $(TOPDIR)/libcrt0.o
+
$(SOBJS): %.o : %.S
$(CC) $(CFLAGS) -c $< -o $@
$(STRIPTOOL) -x -R .note -R .comment $*.o