Browse Source

Doing the compile in one step creates smaller archives, libcrypt.a shrinks from 12k to 10k, libutil.a to 8k to 4k. Use make provided features where possible /$</$^.

Peter S. Mazinger 18 years ago
parent
commit
8e87f7ffea
2 changed files with 18 additions and 22 deletions
  1. 9 11
      libcrypt/Makefile
  2. 9 11
      libutil/Makefile

+ 9 - 11
libcrypt/Makefile

@@ -33,31 +33,29 @@ SO_FULL_NAME=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
 
 CSRC = $(wildcard *.c)
 
-OBJS=$(patsubst %.c,%.o, $(CSRC))
-
 ifeq ($(strip $(HAVE_SHARED)),y)
 all: $(SO_LIB_NAME)
 else
 all: $(AR_LIB_NAME)
 endif
 
-$(AR_LIB_NAME): $(OBJS)
+$(AR_LIB_NAME): $(LIB_NAME).o
 	$(INSTALL) -d $(TOPDIR)lib
-	$(RM) $(AR_LIB_NAME)
-	$(AR) $(ARFLAGS) $(AR_LIB_NAME) $(OBJS)
+	$(RM) $@
+	$(AR) $(ARFLAGS) $@ $<
 
 $(SO_LIB_NAME): $(AR_LIB_NAME)
-	$(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $(SO_LIB_NAME)
+	$(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $@
 	$(LD) $(LDFLAGS) -soname=$(LIB_NAME).so.$(MAJOR_VERSION) \
-		-o $(TOPDIR)lib/$(SO_FULL_NAME) --whole-archive $(AR_LIB_NAME) \
+		-o $(TOPDIR)lib/$(SO_FULL_NAME) --whole-archive $< \
 		--no-whole-archive $(TOPDIR)libc/misc/internals/interp.o \
 		-L$(TOPDIR)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC)
 	$(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION)
-	$(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME)
+	$(LN) -sf $(SO_FULL_NAME) $@
 
-$(OBJS): %.o : %.c
-	$(CC) $(CFLAGS) -c $< -o $@
-	$(STRIPTOOL) -x -R .note -R .comment $*.o
+$(LIB_NAME).o: $(CSRC)
+	$(CC) $(CFLAGS) -o $@ -c $^
+	$(STRIPTOOL) -x -R .note -R .comment $@
 
 clean:
 	$(RM) *.o *~ core

+ 9 - 11
libutil/Makefile

@@ -36,31 +36,29 @@ ifneq ($(strip $(ARCH_HAS_MMU)),y)
 CSRC := $(filter-out forkpty.c,$(CSRC))
 endif
 
-OBJS=$(patsubst %.c,%.o, $(CSRC))
-
 ifeq ($(strip $(HAVE_SHARED)),y)
 all: $(SO_LIB_NAME)
 else
 all: $(AR_LIB_NAME)
 endif
 
-$(AR_LIB_NAME): $(OBJS)
+$(AR_LIB_NAME): $(LIB_NAME).o
 	$(INSTALL) -d $(TOPDIR)lib
-	$(RM) $(AR_LIB_NAME)
-	$(AR) $(ARFLAGS) $(AR_LIB_NAME) $(OBJS)
+	$(RM) $@
+	$(AR) $(ARFLAGS) $@ $<
 
 $(SO_LIB_NAME): $(AR_LIB_NAME)
-	$(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $(SO_LIB_NAME)
+	$(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $@
 	$(LD) $(LDFLAGS) -soname=$(LIB_NAME).so.$(MAJOR_VERSION) \
-		-o $(TOPDIR)lib/$(SO_FULL_NAME) --whole-archive $(AR_LIB_NAME) \
+		-o $(TOPDIR)lib/$(SO_FULL_NAME) --whole-archive $< \
 		--no-whole-archive $(TOPDIR)libc/misc/internals/interp.o \
 		-L$(TOPDIR)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC)
 	$(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION)
-	$(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME)
+	$(LN) -sf $(SO_FULL_NAME) $@
 
-$(OBJS): %.o : %.c
-	$(CC) $(CFLAGS) -c $< -o $@
-	$(STRIPTOOL) -x -R .note -R .comment $*.o
+$(LIB_NAME).o: $(CSRC)
+	$(CC) $(CFLAGS) -o $@ -c $^
+	$(STRIPTOOL) -x -R .note -R .comment $@
 
 clean:
 	$(RM) *.o *~ core