OSDN Git Service

Peter Kjellerstedt writes:
[uclinux-h8/uClibc.git] / libc / unistd / Makefile
index 7b51f07..a8d9747 100644 (file)
@@ -1,6 +1,7 @@
 # Makefile for uClibc
 #
 # Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000,2001 Erik Andersen <andersen@uclibc.org>
 #
 # This program is free software; you can redistribute it and/or modify it under
 # the terms of the GNU Library General Public License as published by the Free
 # other sundry sources.  Files within this library are copyright by their
 # respective copyright holders.
 
-TOPDIR=../
+TOPDIR=../../
 include $(TOPDIR)Rules.mak
-LIBC=$(TOPDIR)libc.a
 DIRS:=
 
-CSRC=execl.c execlp.c execv.c execvep.c execvp.c execle.c getcwd.c getopt.c \
-       sleep.c getpass.c sysconf_src.c getopt_vars.c getlogin.c fpathconf.c
-ifeq ($(strip $(HAS_MMU)),true)
+CSRC=execl.c execlp.c execv.c execvep.c execvp.c execle.c \
+       sleep.c usleep.c getpass.c sysconf_src.c getlogin.c \
+       fpathconf.c confstr.c pathconf.c swab.c usershell.c \
+       getsubopt.c
+ifeq ($(strip $(UCLIBC_HAS_MMU)),y)
     CSRC+=daemon.c
 endif
+ifeq ($(strip $(UCLIBC_HAS_GNU_GETOPT)),y)
+       CSRC += getopt.c
+else
+       CSRC += getopt-susv3.c
+endif
 
 # TESTING -- comment this out if it breaks for you
-ifeq ($(TARGET_ARCH), $(NATIVE_ARCH))
+ifeq ($(TARGET_ARCH), $(HOST_ARCH))
        SYSCONF = sysconf_native
 else
        SYSCONF = sysconf_$(TARGET_ARCH).c
 endif
 
 COBJS=$(patsubst %.c,%.o, $(CSRC))
-
-MSRC=gnu_getopt.c
-MOBJ=_gnu_getopt_internal.o gnu_getopt_long.o gnu_getopt_long_only.o
-
-# WARNING! MOBJ _must_ come after COBJS for link to pick getopt 
-# over gnu_getopt when appropriate.
-OBJS=$(COBJS) $(MOBJ)
+OBJS=$(COBJS)
 
 all: $(SYSCONF) $(OBJS) $(LIBC)
 
@@ -56,8 +57,8 @@ ar-target: $(OBJS)
 
 # We are cross-compiling so use the generic sysconf.c.
 sysconf_$(TARGET_ARCH).c: sysconf.c
-       @echo warning: sysconf_$(NATIVE_ARCH).c is older then sysconf.c so using generic sysconf.c
-       @echo To build sysconf_$(NATIVE_ARCH).c run gen_sysconf \> sysconf_$(NATIVE_ARCH).c on
+       @echo warning: sysconf_$(HOST_ARCH).c is older then sysconf.c so using generic sysconf.c
+       @echo To build sysconf_$(HOST_ARCH).c run gen_sysconf \> sysconf_$(HOST_ARCH).c on
        @echo your target platform, place in the unistd directory, and rebuild
        cp -f sysconf.c sysconf_$(TARGET_ARCH).c
 
@@ -72,18 +73,20 @@ sysconf_tester.o: sysconf.c
 
 gen_sysconf_tester.o: sysconf_tester.o getpagesize_tester.o
        @ld -r -o gen_sysconf_tester.o sysconf_tester.o getpagesize_tester.o
-       @if nm -s gen_sysconf_tester.o | grep -v "U errno" | grep " U " ;\
-       then \
+       @if nm -s gen_sysconf_tester.o | grep -v "U errno" | grep " U "; then \
+               set -e -x; \
                echo warning: missing symbols in gen_sysconf_tester.o so using generic sysconf.c ;\
                cp -f sysconf.c sysconf_src.c ;\
        else \
-               if ../extra/gcc-uClibc/gcc-uClibc-$(NATIVE_ARCH) -static -D_UCLIBC_GENERATE_SYSCONF_MAIN sysconf.c sysconf_tester.o -o gen_sysconf && \
-                       ./gen_sysconf > sysconf_$(NATIVE_ARCH).c ;\
+               set -e -x; \
+               if ../extra/gcc-uClibc/gcc-uClibc-$(HOST_ARCH) -static \
+                       -D_UCLIBC_GENERATE_SYSCONF_MAIN sysconf.c sysconf_tester.o \
+                       -o gen_sysconf && ./gen_sysconf > sysconf_$(HOST_ARCH).c ;\
                then \
-                       echo successfully built sysconf_$(NATIVE_ARCH).c ;\
+                       echo successfully built sysconf_$(HOST_ARCH).c ;\
                else \
                        echo warning: build of gen_sysconf failed so using generic sysconf.c ;\
-                       cp -f sysconf.c sysconf_$(NATIVE_ARCH).c ;\
+                       cp -f sysconf.c sysconf_$(HOST_ARCH).c ;\
                fi ;\
        fi
 
@@ -97,10 +100,6 @@ $(COBJS): %.o : %.c
        $(CC) $(CFLAGS) -c $< -o $@
        $(STRIPTOOL) -x -R .note -R .comment $*.o
 
-$(MOBJ): $(MSRC)
-       $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-       $(STRIPTOOL) -x -R .note -R .comment $*.o
-
 $(OBJ): Makefile
 
 subdirs: $(patsubst %, _dir_%, $(DIRS))
@@ -116,5 +115,5 @@ $(patsubst %, _dirclean_%, $(DIRS)) : dummy
 dummy:
 
 clean:
-       rm -f *.[oa] *~ core gen_sysconf sysconf_*.c
+       $(RM) *.[oa] *~ core gen_sysconf sysconf_*.c