diff options
Diffstat (limited to 'libc/sysdeps/linux/common/Makefile')
-rw-r--r-- | libc/sysdeps/linux/common/Makefile | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/common/Makefile b/libc/sysdeps/linux/common/Makefile index 73190ac9c..3a66e4c2e 100644 --- a/libc/sysdeps/linux/common/Makefile +++ b/libc/sysdeps/linux/common/Makefile @@ -25,7 +25,6 @@ TOPDIR=../../../ include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a - CSRC =closedir.c dirfd.c getdents.c getdnnm.c gethstnm.c getpagesize.c \ isatty.c kernel_version.c mkfifo.c opendir.c readdir.c rewinddir.c \ seekdir.c setegid.c seteuid.c setpgrp.c statfix.c tell.c telldir.c \ @@ -40,7 +39,16 @@ MOBJ=$(shell ./list_syscalls.sh) OBJ=$(COBJS) $(NIOBJS) $(MOBJ) -all: $(OBJ) $(LIBC) +UNIFIED_SYSCALL_HEADER = /dev/null +STR_SYSCALLS = +ifeq ($(UNIFIED_SYSCALL),true) + ifeq ($(TARGET_ARCH), i386) + UNIFIED_SYSCALL_HEADER = unified_syscall_i386.h + STR_SYSCALLS = str_syscalls + endif +endif + +all: $(STR_SYSCALLS) unified_syscall.h $(OBJ) $(LIBC) $(LIBC): ar-target @@ -51,14 +59,22 @@ $(MOBJ): $(MSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(STRIPTOOL) -x -R .note -R .comment $*.o -$(COBJS): - $(CC) $(CFLAGS) $< -c $*.c -o $*.o +$(COBJS): %.o : %.c + $(CC) $(CFLAGS) -c $< -o $@ $(STRIPTOOL) -x -R .note -R .comment $*.o $(NIOBJS): $(CC) $(CFLAGS) $< -c $*.c -o $*.o -fno-inline $(STRIPTOOL) -x -R .note -R .comment $*.o +str_syscalls: + ./str_syscalls.sh > str_syscalls.c + gcc str_syscalls.c -o str_syscalls + ./str_syscalls > str_syscalls.h + +unified_syscall.h: + cat $(UNIFIED_SYSCALL_HEADER) > unified_syscall.h + clean: - rm -f *.[oa] *~ core + rm -f *.[oa] *~ core unified_syscall.h str_syscalls.[ch] str_syscalls |