From 5d26126b9e8fd6c6f5098dbaa2e5b9e2901749bf Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Wed, 1 Mar 2006 22:54:48 +0000 Subject: - fixes parallel builds (make -j) - use less resources for the buildsystem itself --- libbb/Makefile.in | 102 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 52 insertions(+), 50 deletions(-) (limited to 'libbb') diff --git a/libbb/Makefile.in b/libbb/Makefile.in index 51a162e3d..3828a42db 100644 --- a/libbb/Makefile.in +++ b/libbb/Makefile.in @@ -4,10 +4,8 @@ # # Licensed under the GPL v2, see the file LICENSE in this tarball. -ifndef $(LIBBB_DIR) -LIBBB_DIR:=$(top_builddir)/libbb -endif srcdir=$(top_srcdir)/libbb +objdir=$(top_builddir)/libbb LIBBB-n:= LIBBB-y:= \ @@ -20,7 +18,7 @@ LIBBB-y:= \ herror_msg.c herror_msg_and_die.c \ human_readable.c inet_common.c inode_hash.c isdirectory.c \ kernel_version.c last_char_is.c login.c loop.c \ - make_directory.c md5.c mode_string.c mtab.c mtab_file.c \ + make_directory.c md5.c mode_string.c mtab_file.c \ obscure.c parse_mode.c parse_number.c perror_msg.c \ perror_msg_and_die.c print_file.c get_console.c \ process_escape_sequence.c procps.c qmodule.c \ @@ -47,81 +45,76 @@ LIBBB-$(CONFIG_SU)+= correct_password.c LIBBB-$(CONFIG_LOGIN)+= correct_password.c -LIBBB-y:=$(patsubst %,$(srcdir)/%,$(LIBBB-y)) +LIBBB-y:=$(patsubst %,$(srcdir)/%,$(LIBBB-y) $(LIBBB-m)) # 1:N objects LIBBB_MSRC0:=$(srcdir)/messages.c -LIBBB_MOBJ0:=full_version.o \ - memory_exhausted.o invalid_date.o io_error.o \ - read_error.o write_error.o name_longer_than_foo.o unknown.o \ - can_not_create_raw_socket.o perm_denied_are_you_root.o \ - shadow_file.o passwd_file.o group_file.o gshadow_file.o nologin_file.o \ - securetty_file.o motd_file.o \ - msg_standard_input.o msg_standard_output.o shell_file.o \ - bb_dev_null.o bb_common_bufsiz1.o -LIBBB_MOBJ0:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ0)) +LIBBB_M0:=full_version \ + memory_exhausted invalid_date io_error \ + read_error write_error name_longer_than_foo unknown \ + can_not_create_raw_socket perm_denied_are_you_root \ + shadow_file passwd_file group_file gshadow_file nologin_file \ + securetty_file motd_file \ + msg_standard_input msg_standard_output shell_file \ + bb_dev_null bb_common_bufsiz1 +LIBBB_MOBJ0:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M0)) $(LIBBB_MOBJ0):$(LIBBB_MSRC0) - $(compile.c) -DL_$(notdir $*) LIBBB_MSRC1:=$(srcdir)/xfuncs.c -LIBBB_MOBJ1:=xmalloc.o xrealloc.o xcalloc.o xstrdup.o xstrndup.o \ - xfopen.o xopen.o xread.o xread_all.o xread_char.o \ - xferror.o xferror_stdout.o xfflush_stdout.o strlen.o -LIBBB_MOBJ1:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ1)) +LIBBB_M1:=xmalloc xrealloc xcalloc xstrdup xstrndup \ + xfopen xopen xread xread_all xread_char \ + xferror xferror_stdout xfflush_stdout strlen +LIBBB_MOBJ1:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M1)) $(LIBBB_MOBJ1):$(LIBBB_MSRC1) - $(compile.c) -DL_$(notdir $*) LIBBB_MSRC2:=$(srcdir)/printf.c -LIBBB_MOBJ2:=bb_vfprintf.o bb_vprintf.o bb_fprintf.o bb_printf.o -LIBBB_MOBJ2:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ2)) +LIBBB_M2:=bb_vfprintf bb_vprintf bb_fprintf bb_printf +LIBBB_MOBJ2:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M2)) $(LIBBB_MOBJ2):$(LIBBB_MSRC2) - $(compile.c) -DL_$(notdir $*) LIBBB_MSRC3:=$(srcdir)/xgetularg.c -LIBBB_MOBJ3:=xgetularg_bnd_sfx.o xgetlarg_bnd_sfx.o getlarg10_sfx.o \ - xgetularg_bnd.o xgetularg10_bnd.o xgetularg10.o -LIBBB_MOBJ3:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ3)) +LIBBB_M3:=xgetularg_bnd_sfx xgetlarg_bnd_sfx getlarg10_sfx \ + xgetularg_bnd xgetularg10_bnd xgetularg10 +LIBBB_MOBJ3:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M3)) $(LIBBB_MOBJ3):$(LIBBB_MSRC3) - $(compile.c) -DL_$(notdir $*) LIBBB_MSRC4:=$(srcdir)/safe_strtol.c -LIBBB_MOBJ4:=safe_strtoi.o safe_strtod.o safe_strtol.o safe_strtoul.o -LIBBB_MOBJ4:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ4)) +LIBBB_M4:=safe_strtoi safe_strtod safe_strtol safe_strtoul +LIBBB_MOBJ4:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M4)) $(LIBBB_MOBJ4):$(LIBBB_MSRC4) - $(compile.c) -DL_$(notdir $*) LIBBB_MSRC5:=$(srcdir)/bb_pwd.c -LIBBB_MOBJ5:=bb_xgetpwnam.o bb_xgetgrnam.o bb_getgrgid.o bb_getpwuid.o \ - bb_getug.o get_ug_id.o -LIBBB_MOBJ5:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ5)) +LIBBB_M5:=bb_xgetpwnam bb_xgetgrnam bb_getgrgid bb_getpwuid \ + bb_getug get_ug_id +LIBBB_MOBJ5:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M5)) $(LIBBB_MOBJ5):$(LIBBB_MSRC5) - $(compile.c) -DL_$(notdir $*) LIBBB_MSRC6:=$(srcdir)/llist.c -LIBBB_MOBJ6:=llist_add_to.o llist_add_to_end.o llist_free_one.o llist_free.o -LIBBB_MOBJ6:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ6)) +LIBBB_M6:=llist_add_to llist_add_to_end llist_free_one llist_free +LIBBB_MOBJ6:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M6)) $(LIBBB_MOBJ6):$(LIBBB_MSRC6) - $(compile.c) -DL_$(notdir $*) # We need the names of the object files built from MSRC for the L_ defines -LIBBB_ALL_MOBJ:=$(LIBBB_MOBJ0) $(LIBBB_MOBJ1) $(LIBBB_MOBJ2) $(LIBBB_MOBJ3) $(LIBBB_MOBJ4) $(LIBBB_MOBJ5) $(LIBBB_MOBJ6) +LIBBB_ALL_MDEFS:=$(LIBBB_M0) $(LIBBB_M1) $(LIBBB_M2) $(LIBBB_M3) $(LIBBB_M4) $(LIBBB_M5) $(LIBBB_M6) + +# All multi objects +libbb_MOBJ$(os):=$(LIBBB_MOBJ0) $(LIBBB_MOBJ1) $(LIBBB_MOBJ2) $(LIBBB_MOBJ3) $(LIBBB_MOBJ4) $(LIBBB_MOBJ5) $(LIBBB_MOBJ6) LIBBB_ALL_MSRC:=$(LIBBB_MSRC0) $(LIBBB_MSRC1) $(LIBBB_MSRC2) $(LIBBB_MSRC3) \ $(LIBBB_MSRC4) $(LIBBB_MSRC5) $(LIBBB_MSRC6) -LIBBB-y:=$(sort $(LIBBB-y) $(LIBBB_ALL_MSRC)) - -LIBBB_AR:=$(LIBBB_DIR)/libbb.a -libraries-y+=$(LIBBB_AR) +LIBBB-y:=$(sort $(LIBBB-y)) needcrypt-y:= ifneq ($(findstring $(srcdir)/pw_encrypt.c,$(LIBBB-y)),) needcrypt-y:=y -else +endif ifneq ($(findstring $(srcdir)/correct_password.c,$(LIBBB-y)),) needcrypt-y:=y endif +ifeq ($(CONFIG_FEATURE_FULL_LIBBUSYBOX),y) +needcrypt-y:=y endif ifeq ($(needcrypt-y),y) @@ -129,18 +122,27 @@ ifeq ($(needcrypt-y),y) endif # all 1:1 objects -LIBBB_OBJS:=$(patsubst $(srcdir)/%.c,$(LIBBB_DIR)/%.o, $(LIBBB-y)) -$(LIBBB_DIR)/%.o: $(srcdir)/%.c - $(compile.c) +libbb_OBJ$(os):=$(patsubst $(srcdir)/%.c,$(objdir)/%$(os),$(LIBBB-y)) +LIBBB_SRC-y:=$(sort $(LIBBB-y) $(LIBBB_ALL_MSRC)) LIBBB_SRC-a:=$(wildcard $(srcdir)/*.c) -LIBRARY_SRC-y+=$(LIBBB-y) +LIBRARY_SRC-y+=$(LIBBB_SRC-y) LIBRARY_SRC-a+=$(LIBBB_SRC-a) # all defines needed for 1:N objects -LIBBB_DEFINE-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBBB_ALL_MOBJ)))) +LIBBB_DEFINE-y:=$(patsubst %,-DL_%,$(LIBBB_ALL_MDEFS)) LIBRARY_DEFINE-y+=$(LIBBB_DEFINE-y) LIBRARY_DEFINE-a+=$(LIBBB_DEFINE-y) -$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_ALL_MOBJ) - $(do_ar) +ifeq ($(om),.osm) +# XXX FIXME: +# also create a pattern for the non-shared case +$(LIBBB_MOBJ0:.osm=.om): $(LIBBB_MSRC0) +$(LIBBB_MOBJ1:.osm=.om): $(LIBBB_MSRC1) +$(LIBBB_MOBJ2:.osm=.om): $(LIBBB_MSRC2) +$(LIBBB_MOBJ3:.osm=.om): $(LIBBB_MSRC3) +$(LIBBB_MOBJ4:.osm=.om): $(LIBBB_MSRC4) +$(LIBBB_MOBJ5:.osm=.om): $(LIBBB_MSRC5) +$(LIBBB_MOBJ6:.osm=.om): $(LIBBB_MSRC6) +endif + -- cgit v1.2.3