summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/.cvsignore1
-rw-r--r--libc/Makefile26
-rw-r--r--libc/inet/Makefile10
-rw-r--r--libc/inet/rpc/Makefile9
-rw-r--r--libc/misc/Makefile5
-rw-r--r--libc/misc/assert/Makefile8
-rw-r--r--libc/misc/ctype/Makefile9
-rw-r--r--libc/misc/dirent/Makefile9
-rw-r--r--libc/misc/error/Makefile9
-rw-r--r--libc/misc/file/Makefile9
-rw-r--r--libc/misc/fnmatch/Makefile9
-rw-r--r--libc/misc/ftw/Makefile9
-rw-r--r--libc/misc/glob/Makefile9
-rw-r--r--libc/misc/gnu/Makefile8
-rw-r--r--libc/misc/internals/Makefile9
-rw-r--r--libc/misc/intl/Makefile9
-rw-r--r--libc/misc/locale/Makefile9
-rw-r--r--libc/misc/mntent/Makefile9
-rw-r--r--libc/misc/pthread/Makefile9
-rw-r--r--libc/misc/regex/Makefile9
-rw-r--r--libc/misc/search/Makefile9
-rw-r--r--libc/misc/statfs/Makefile10
-rw-r--r--libc/misc/syslog/Makefile9
-rw-r--r--libc/misc/sysvipc/Makefile10
-rw-r--r--libc/misc/time/Makefile9
-rw-r--r--libc/misc/ttyent/Makefile9
-rw-r--r--libc/misc/utmp/Makefile8
-rw-r--r--libc/misc/wchar/Makefile9
-rw-r--r--libc/misc/wctype/Makefile9
-rw-r--r--libc/misc/wordexp/Makefile9
-rw-r--r--libc/pwd_grp/Makefile8
-rw-r--r--libc/signal/Makefile8
-rw-r--r--libc/stdio/Makefile12
-rw-r--r--libc/stdlib/Makefile10
-rw-r--r--libc/stdlib/malloc-simple/Makefile12
-rw-r--r--libc/stdlib/malloc-standard/Makefile9
-rw-r--r--libc/stdlib/malloc/Makefile8
-rw-r--r--libc/string/Makefile9
-rw-r--r--libc/string/arm/Makefile10
-rw-r--r--libc/string/frv/Makefile9
-rw-r--r--libc/string/generic/Makefile10
-rw-r--r--libc/string/i386/Makefile9
-rw-r--r--libc/string/mips/Makefile10
-rw-r--r--libc/string/powerpc/Makefile9
-rw-r--r--libc/string/sh64/Makefile10
-rw-r--r--libc/sysdeps/Makefile2
-rw-r--r--libc/sysdeps/linux/Makefile2
-rw-r--r--libc/sysdeps/linux/alpha/Makefile10
-rw-r--r--libc/sysdeps/linux/arm/Makefile11
-rw-r--r--libc/sysdeps/linux/bfin/Makefile10
-rw-r--r--libc/sysdeps/linux/common/Makefile10
-rw-r--r--libc/sysdeps/linux/cris/Makefile11
-rw-r--r--libc/sysdeps/linux/e1/Makefile12
-rw-r--r--libc/sysdeps/linux/h8300/Makefile11
-rw-r--r--libc/sysdeps/linux/i386/Makefile11
-rw-r--r--libc/sysdeps/linux/i960/Makefile12
-rw-r--r--libc/sysdeps/linux/m68k/Makefile9
-rw-r--r--libc/sysdeps/linux/microblaze/Makefile11
-rw-r--r--libc/sysdeps/linux/mips/Makefile10
-rw-r--r--libc/sysdeps/linux/nios/Makefile11
-rw-r--r--libc/sysdeps/linux/nios2/Makefile11
-rw-r--r--libc/sysdeps/linux/powerpc/Makefile11
-rw-r--r--libc/sysdeps/linux/sh/Makefile11
-rw-r--r--libc/sysdeps/linux/sh64/Makefile11
-rw-r--r--libc/sysdeps/linux/sparc/Makefile10
-rw-r--r--libc/sysdeps/linux/v850/Makefile11
-rw-r--r--libc/termios/Makefile10
-rw-r--r--libc/unistd/Makefile8
68 files changed, 303 insertions, 341 deletions
diff --git a/libc/.cvsignore b/libc/.cvsignore
index a9a5aecf4..e9374e8d6 100644
--- a/libc/.cvsignore
+++ b/libc/.cvsignore
@@ -1 +1,2 @@
tmp
+obj.*
diff --git a/libc/Makefile b/libc/Makefile
index c37f11882..17937bbc8 100644
--- a/libc/Makefile
+++ b/libc/Makefile
@@ -37,10 +37,33 @@ DIRS = misc pwd_grp stdio string termios inet signal stdlib sysdeps unistd
VERSION_SCRIPT:=${shell if [ -f sysdeps/linux/$(TARGET_ARCH)/libc.map ] ; then \
echo "--version-script sysdeps/linux/$(TARGET_ARCH)/libc.map"; fi}
-all: halfclean $(LIBNAME) $(DO_SHARED)
+LIBNAME_TARGET:=$(TOPDIR)lib/$(LIBNAME)
+all: halfclean $(LIBNAME_TARGET) $(DO_SHARED)
+
+# Some functions are duplicated across subdirs, and when you pass $(AR)
+# the same object file more than once, it'll add it to the archive multiple
+# times (boo!). So what we do here is:
+# - import all the objects (thus we may have dupes)
+# - delete all the dupes
+# - re-import certain objects based upon preference
+# - the sysdeps dir should override all other symbols for example
+# We need to use shell globbing with obj.* because if we use make's wildcard,
+# the wildcard will be evaluated when `make` is run instead of when the make
+# target is evaluated. That means if you run `rm obj.* ; make`, the wildcard
+# will evaluate to no files :(.
$(LIBNAME) ar-target: subdirs
+ objs=`cat obj.*` ; $(AR) $(ARFLAGS) $(LIBNAME) $$objs
+ objs=`cat obj.*` ; $(AR) dN 2 $(LIBNAME) $$objs
+ @for objfile in obj.signal obj.string.generic obj.string \
+ obj.sysdeps.$(TARGET_ARCH) obj.sysdeps.common ; do \
+ echo $(AR) $(ARFLAGS) $(LIBNAME) $$objfile ; \
+ objs=`cat $$objfile` ; \
+ $(AR) $(ARFLAGS) $(LIBNAME) $$objs || exit 1 ; \
+ done
$(RANLIB) $(LIBNAME)
+
+$(LIBNAME_TARGET): $(LIBNAME)
$(INSTALL) -d $(TOPDIR)lib
$(RM) $(TOPDIR)lib/$(LIBNAME)
$(INSTALL) -m 644 $(LIBNAME) $(TOPDIR)lib
@@ -67,6 +90,7 @@ tags:
clean: subdirs_clean halfclean
@$(RM) -r tmp
$(RM) include/asm include/linux include/bits
+ $(RM) obj.*
subdirs: $(patsubst %, _dir_%, $(DIRS))
subdirs_clean: $(patsubst %, _dirclean_%, $(DIRS))
diff --git a/libc/inet/Makefile b/libc/inet/Makefile
index 5ca42ddf2..e7018db7c 100644
--- a/libc/inet/Makefile
+++ b/libc/inet/Makefile
@@ -58,13 +58,12 @@ COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(MOBJ) $(MOBJ2) $(MOBJ3) $(COBJS)
+OBJ_LIST=../obj.inet
-all: $(OBJS) $(LIBC)
+all: $(OBJ_LIST) subdirs
-$(LIBC): ar-target subdirs
-
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, inet/%, $(OBJS)) > $(OBJ_LIST)
$(MOBJ): $(MSRC)
$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
@@ -95,4 +94,3 @@ $(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
.PHONY: dummy
-
diff --git a/libc/inet/rpc/Makefile b/libc/inet/rpc/Makefile
index 5b8975cbf..352e9a28b 100644
--- a/libc/inet/rpc/Makefile
+++ b/libc/inet/rpc/Makefile
@@ -50,12 +50,12 @@ endif
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: ar-target
+OBJ_LIST=../../obj.inet.rpc
-$(LIBC): $(OBJS)
+all: $(OBJ_LIST)
-ar-target: $(LIBC)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, inet/rpc/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -63,4 +63,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/Makefile b/libc/misc/Makefile
index da7c44fba..9d2d74a2b 100644
--- a/libc/misc/Makefile
+++ b/libc/misc/Makefile
@@ -50,9 +50,7 @@ ifeq ($(strip $(UCLIBC_HAS_GLOB)),y)
DIRS += glob
endif
-all: libc.a
-
-libc.a: subdirs
+all: subdirs
tags:
ctags -R
@@ -70,4 +68,3 @@ $(patsubst %, _dirclean_%, $(DIRS)) : dummy
$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
.PHONY: dummy
-
diff --git a/libc/misc/assert/Makefile b/libc/misc/assert/Makefile
index cfd469c14..57a2c0154 100644
--- a/libc/misc/assert/Makefile
+++ b/libc/misc/assert/Makefile
@@ -28,12 +28,12 @@ CSRC=__assert.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(LIBC)
+OBJ_LIST=../../obj.misc.assert
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/assert/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
diff --git a/libc/misc/ctype/Makefile b/libc/misc/ctype/Makefile
index 26bb33731..dd7b799bd 100644
--- a/libc/misc/ctype/Makefile
+++ b/libc/misc/ctype/Makefile
@@ -47,12 +47,12 @@ ifeq ($(UCLIBC_HAS_XLOCALE),y)
OBJS += $(MOBJx)
endif
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.ctype
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/ctype/%, $(OBJS)) > $(OBJ_LIST)
$(MOBJ): $(MSRC)
$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
@@ -66,4 +66,3 @@ $(OBJS): Makefile
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/dirent/Makefile b/libc/misc/dirent/Makefile
index 4ccf3d3e0..1f1032642 100644
--- a/libc/misc/dirent/Makefile
+++ b/libc/misc/dirent/Makefile
@@ -30,12 +30,12 @@ CSRC=alphasort.c closedir.c dirfd.c opendir.c readdir.c rewinddir.c scandir.c \
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.dirent
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/dirent/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -43,4 +43,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/error/Makefile b/libc/misc/error/Makefile
index 880fd58df..1ef71dfa7 100644
--- a/libc/misc/error/Makefile
+++ b/libc/misc/error/Makefile
@@ -23,12 +23,12 @@ CSRC=error.c err.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.error
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/error/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -36,4 +36,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/file/Makefile b/libc/misc/file/Makefile
index fc1a1bfc3..a590f6ab5 100644
--- a/libc/misc/file/Makefile
+++ b/libc/misc/file/Makefile
@@ -32,12 +32,12 @@ endif
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.file
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/file/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -45,4 +45,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/fnmatch/Makefile b/libc/misc/fnmatch/Makefile
index af067bd15..535169550 100644
--- a/libc/misc/fnmatch/Makefile
+++ b/libc/misc/fnmatch/Makefile
@@ -28,12 +28,12 @@ CSRC=fnmatch.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.fnmatch
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/fnmatch/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -41,4 +41,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/ftw/Makefile b/libc/misc/ftw/Makefile
index a9df0c782..a8d52bf32 100644
--- a/libc/misc/ftw/Makefile
+++ b/libc/misc/ftw/Makefile
@@ -27,12 +27,12 @@ MSRC=ftw.c
MOBJ=ftw.o ftw64.o
OBJS=$(MOBJ)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.ftw
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/ftw/%, $(OBJS)) > $(OBJ_LIST)
$(MOBJ): $(MSRC)
$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
@@ -40,4 +40,3 @@ $(MOBJ): $(MSRC)
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/glob/Makefile b/libc/misc/glob/Makefile
index 31a3b80fe..e753c936a 100644
--- a/libc/misc/glob/Makefile
+++ b/libc/misc/glob/Makefile
@@ -28,12 +28,12 @@ CSRC=glob.c glob64.c glob-hooks.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.glob
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/glob/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -43,4 +43,3 @@ glob64.o: glob64.c glob.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/gnu/Makefile b/libc/misc/gnu/Makefile
index 6e3fd8463..a338b8131 100644
--- a/libc/misc/gnu/Makefile
+++ b/libc/misc/gnu/Makefile
@@ -28,12 +28,12 @@ CSRC=obstack.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(LIBC)
+OBJ_LIST=../../obj.misc.gnu
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/gnu/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
diff --git a/libc/misc/internals/Makefile b/libc/misc/internals/Makefile
index 486cf8d55..23816b38d 100644
--- a/libc/misc/internals/Makefile
+++ b/libc/misc/internals/Makefile
@@ -29,12 +29,12 @@ COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) interp.o $(LIBC)
+OBJ_LIST=../../obj.misc.internals
-$(LIBC): interp.c ar-target
+all: $(OBJ_LIST) interp.o
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/internals/%, $(OBJS)) > $(OBJ_LIST)
interp.c: Makefile
echo "/* Force shared libraries to know about the correct library loader */" > interp.c
@@ -54,4 +54,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] interp.c *~ core
-
diff --git a/libc/misc/intl/Makefile b/libc/misc/intl/Makefile
index df59c9d52..e0eb06493 100644
--- a/libc/misc/intl/Makefile
+++ b/libc/misc/intl/Makefile
@@ -30,12 +30,12 @@ MOBJ= __uClibc_dgettext.o __uClibc_dcgettext.o \
OBJS=$(MOBJ)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.intl
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/intl/%, $(OBJS)) > $(OBJ_LIST)
$(MOBJ): $(MSRC)
$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
@@ -47,4 +47,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/locale/Makefile b/libc/misc/locale/Makefile
index 75fa56a78..5ab005538 100644
--- a/libc/misc/locale/Makefile
+++ b/libc/misc/locale/Makefile
@@ -43,13 +43,12 @@ endif
OBJS= $(MOBJ) $(MOBJx) $(DATA)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.locale
+all: $(OBJ_LIST)
-$(LIBC): ar-target
-
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/locale/%, $(OBJS)) > $(OBJ_LIST)
$(MOBJ): $(MSRC)
$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
diff --git a/libc/misc/mntent/Makefile b/libc/misc/mntent/Makefile
index 7430dfe00..34a3d6f71 100644
--- a/libc/misc/mntent/Makefile
+++ b/libc/misc/mntent/Makefile
@@ -28,12 +28,12 @@ CSRC=mntent.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.mntent
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/mntent/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -41,4 +41,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/pthread/Makefile b/libc/misc/pthread/Makefile
index d01af1d74..0e432d308 100644
--- a/libc/misc/pthread/Makefile
+++ b/libc/misc/pthread/Makefile
@@ -33,12 +33,12 @@ CSRC=no-tsd.c weaks.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.pthread
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/pthread/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -46,4 +46,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/regex/Makefile b/libc/misc/regex/Makefile
index 5bdda32b4..db215edd8 100644
--- a/libc/misc/regex/Makefile
+++ b/libc/misc/regex/Makefile
@@ -28,12 +28,12 @@ CSRC=regex.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.regex
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/regex/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -41,4 +41,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/search/Makefile b/libc/misc/search/Makefile
index 9d579b964..7e67bb4e5 100644
--- a/libc/misc/search/Makefile
+++ b/libc/misc/search/Makefile
@@ -41,12 +41,12 @@ COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS) $(MOBJ1) $(MOBJ2) $(MOBJ3) $(MOBJ4)
-all: $(OBJS) $(LIBC)
+OBJ_LIST=../../obj.misc.search
-$(LIBC): ar-target
+all: $(OBJ_LIST)
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/search/%, $(OBJS)) > $(OBJ_LIST)
$(MOBJ1): $(MSRC1)
$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
@@ -70,4 +70,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/statfs/Makefile b/libc/misc/statfs/Makefile
index 55c21b8f6..bbb9dd0bc 100644
--- a/libc/misc/statfs/Makefile
+++ b/libc/misc/statfs/Makefile
@@ -30,13 +30,12 @@ endif
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
+OBJ_LIST=../../obj.misc.statfs
-all: $(OBJS) $(LIBC)
+all: $(OBJ_LIST)
-$(LIBC): ar-target
-
-ar-target: $(OBJS)
- $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+$(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/statfs/%, $(OBJS)) > $(OBJ_LIST)
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -44,4 +43,3 @@ $(COBJS): %.o : %.c
clean:
$(RM) *.[oa] *~ core
-
diff --git a/libc/misc/syslog/Makefile b/libc/misc/syslog/Makefile
index 8eb583c51..35e755e40 100644
--- a/libc/misc/syslog/Makefile
+++ b/libc/misc/syslog/Makefile