From 6e953631df4b716fcf2d2bcfb62e44ffba2a6b40 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 30 Aug 1996 00:58:28 +0000 Subject: update from main archive 960829 Fri Aug 30 01:26:44 1996 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/Dist: Add close.S. * sysdeps/unix/sysv/linux/m68k/Dist: Likewise. * sysdeps/unix/sysv/linux/alpha/Dist: Likewise. * version.c: Add comment about where to report bugs to. * catgets/gencat.c (usage): Likewise. * db/makedb.c (usage): Likewise. * locale/programs/locale.c (usage): Likewise. * locale/programs/localedef.c (usage): Likewise. * manual/socket.texi: A little bit better wording. Thu Aug 29 18:03:06 1996 Ulrich Drepper * Makerules: Make sure directory exists before generating stamp file. (BUILD_CFLAGS): Always refer to using $(..). * manual/Makefile: Make sure directory exists before generating stamp file. (make-target-directory): Add macro definition. * sysdeps/generic/Makefile: Make sure directory exists before generating stamp file. * Makefile (distribute): Add autolock.sh. Reported by Fila Kolodny. Tue Aug 27 10:06:22 1996 Andreas Schwab When compiling in separate directory put objects into subdirectories matching the source layout. * Makeconfig (objpfx) [ifdef objdir]: Append $(subdir). When looking for configparms try in $(common-objpfx). Use $(common-objpfx)SUBDIR to find objects from other subdirectory builds. * Makerules: Add $(objpfx) to vpath list. (make-dummy-dep): Use $(common-objpfx) to avoid creating dummy.d more than once. All uses in dependency lists changed. (+make-deps): Make target directory. (sed-remove-objpfx): Substitute $(common-objpfx). (do-ar, build-extra-lib, $(common-objpfx)stub-$(subdir)): Use $(objpfx) instead of $(objdir) for cd command. (O%-lib): Always find libc relative to $(..). (subdir-stamps): Collect stamp files from subdirs. (common-mostlyclean): Remove stub file in $(common-objpfx). * MakeTAGS ($P/siglist.pot): Find siglist.c in stdio-common. * Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to more than once. ($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use $(common-objfpx). All uses in dependency lists changed. (generated): Prepend $(..) to names. * bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx) from $@. * nss/Makefile ($(objpfx)libnss_dns.so, $(objpfx)libnss_db.so): Use $(common-objpfx) instead of $(..) in dependencies. * sysdeps/mach/Makefile (mach-objpfx): Unconditionally use $(common-objpfx) instead of $(..) and (objpfx). * sysdeps/mach/hurd/Makefile (hurd-objpfx): Likewise. (rpath-link): Likewise. (rpcuserlibs): Likewise. * sysdeps/unix/Makefile [$(subdir) = stdio-common]: Check for errlist.c in $(objpfx), not $(common-objpfx). ($(common-objpfx)s-proto.d): Special rule not covered by pattern rule. * sysdeps/unix/make-syscalls.sh: Make syscall rules depending on s-proto.d in $(common-objpfx), not $(objpfx). Thu Aug 29 17:45:49 1996 Ulrich Drepper * nss/nsswitch.c (nss_dlerror_run): Free returned error string. Thu Aug 29 15:53:33 1996 Ulrich Drepper * sysdeps/libm-ieee754/e_acoshl.c: New file. `long double' implementation. * sysdeps/libm-ieee754/e_atanhl.c: Likewise. * sysdeps/libm-ieee754/e_remainderl.c: Likewise. * sysdeps/libm-ieee754/e_scalbl.c: Likewise. * sysdeps/libm-ieee754/s_asinhl.c: Likewise. * sysdeps/libm-ieee754/s_cosl.c: Likewise. * sysdeps/libm-ieee754/s_sinl.c: Likewise. * sysdeps/libm-ieee754/s_tanhl.c: Likewise. * sysdeps/libm-ieee754/s_tanl.c: Likewise. * stdio-common/printf_fp.c (__printf_fp): Use default value '.' if --- Makerules | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) (limited to 'Makerules') diff --git a/Makerules b/Makerules index ede97c8f31..c0afa63034 100644 --- a/Makerules +++ b/Makerules @@ -85,7 +85,7 @@ endif # This is here so things in sysdep Makefiles can easily depend on foo.h as # appropriate and not worry about where foo.h comes from, which may be # system dependent and not known by that Makefile. -vpath %.h $(subst $(empty) ,:,$(strip $(common-objpfx) \ +vpath %.h $(subst $(empty) ,:,$(strip $(common-objpfx) $(objpfx) \ $(addprefix $(sysdep_dir)/,$(sysdirs)) \ $(..))) @@ -150,9 +150,9 @@ endif # have source in .s files, and thus do not in fact need a .d file. # So we must define rules to make .d files for .s files. define make-dummy-dep -$(addprefix ln $(objpfx)dummy.d ,$(filter-out $(wildcard $@),$@)) +$(addprefix ln $(common-objpfx)dummy.d ,$(filter-out $(wildcard $@),$@)) endef -$(objpfx)dummy.d: +$(common-objpfx)dummy.d: echo '# .s files cannot contain includes, so they need no deps.' > $@ # It matters that this set of rules, for compiling from sources in @@ -169,7 +169,7 @@ $(objpfx)%.o: %.s $(before-compile); $(compile-command.s) $(objpfx)%.so: %.s $(before-compile); $(compile-command.s) $(objpfx)%.po: %.s $(before-compile); $(compile-command.s) $(objpfx)%.go: %.s $(before-compile); $(compile-command.s) -$(objpfx)%.d: %.s $(objpfx)dummy.d; $(make-dummy-dep) +$(objpfx)%.d: %.s $(common-objpfx)dummy.d; $(make-dummy-dep) $(objpfx)%.o: %.c $(before-compile); $(compile-command.c) $(objpfx)%.so: %.c $(before-compile); $(compile-command.c) $(objpfx)%.po: %.c $(before-compile); $(compile-command.c) @@ -190,7 +190,7 @@ $(objpfx)%.o: $(objpfx)%.s $(before-compile); $(compile-command.s) $(objpfx)%.so: $(objpfx)%.s $(before-compile); $(compile-command.s) $(objpfx)%.po: $(objpfx)%.s $(before-compile); $(compile-command.s) $(objpfx)%.go: $(objpfx)%.s $(before-compile); $(compile-command.s) -$(objpfx)%.d: $(objpfx)%.s $(objpfx)dummy.d; $(make-dummy-dep) +$(objpfx)%.d: $(objpfx)%.s $(common-objpfx)dummy.d; $(make-dummy-dep) $(objpfx)%.o: $(objpfx)%.c $(before-compile); $(compile-command.c) $(objpfx)%.so: $(objpfx)%.c $(before-compile); $(compile-command.c) $(objpfx)%.po: $(objpfx)%.c $(before-compile); $(compile-command.c) @@ -239,7 +239,7 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \ \$$(compile-command.c)"; \ done; \ $(open-check-inhibit-asm) \ - echo "\$$(objpfx)%.d: $$dir/%.s \$$(objpfx)dummy.d; \ + echo "\$$(objpfx)%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ \$$(make-dummy-dep)"; \ echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \ \$$(+make-deps)"; \ @@ -279,6 +279,7 @@ OUTPUT_OPTION = -o $@ S-CPPFLAGS = $(asm-CPPFLAGS) define +make-deps +$(make-target-directory) -@rm -f $@ $(+mkdep) $< $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \ sed -e 's,$(subst .,\.,$*)\.o,$(foreach o,$(object-suffixes),$(@:.d=$o)) $@,' \ @@ -289,7 +290,9 @@ ifneq (,$(objpfx)) # Continuation lines here are dangerous because they introduce spaces! define sed-remove-objpfx -e 's@ $(subst .,\.,$(subst @,\@,$(objpfx)))@ $$(objpfx)@g' \ --e 's@^$(subst .,\.,$(subst @,\@,$(objpfx)))@$$(objpfx)@g' +-e 's@^$(subst .,\.,$(subst @,\@,$(objpfx)))@$$(objpfx)@g' \ +-e 's@ $(subst .,\.,$(subst @,\@,$(common-objpfx)))@ $$(common-objpfx)@g' \ +-e 's@^$(subst .,\.,$(subst @,\@,$(common-objpfx)))@$$(common-objpfx)@g' endef endif @@ -327,7 +330,7 @@ LDFLAGS-c.so = -nostdlib -nostartfiles # Give libc.so an entry point and make it directly runnable itself. LDFLAGS-c.so += -e __libc_main # Use our own special initializer and finalizer files for libc.so. -elfobjdir := $(firstword $(objdir) $(patsubst ../$(subdir),.,$(..)elf)) +elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf) $(common-objpfx)libc.so: $(elfobjdir)/soinit.so \ $(common-objpfx)libc_pic.a \ $(elfobjdir)/sofini.so $(elfobjdir)/ld.so @@ -443,6 +446,7 @@ ifndef objects # Create the stamp$o files to keep the parent makefile happy. subdir_lib: $(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir)) $(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir)): + $(make-target-directory) rm -f $@; > $@ else @@ -471,17 +475,13 @@ object-suffixes-left := $(object-suffixes) include $(o-iterator) define do-ar topdir=`cd $(..).; pwd`; \ -$(patsubst %,cd %;,$(objdir)) \ +$(patsubst %/,cd %;,$(objpfx)) \ $$topdir/autolock.sh ${O%-lib}.lck $(AR) cru$(verbose) ${O%-lib} \ $(patsubst $(objpfx)%,%,$^) rm -f $@ touch $@ endef -ifdef subdir -O%-lib = $(filter ../,$(firstword $(objdir) ../))$(patsubst %,$(libtype$*),c) -else -O%-lib = $(patsubst %,$(libtype$*),c) -endif +O%-lib = $(..)$(patsubst %,$(libtype$*),c) endif @@ -496,8 +496,7 @@ $(common-objpfx)$(patsubst %,$(libtype$o),c)($(ar-symtab-name)): \ $$(RANLIB) $$(common-objpfx)$$(patsubst %,$$(libtype$o),c) endef ifndef subdir -subdirs-stamps := $(foreach d,$(subdirs),\ - $(firstword $(objdir) $(subdir))/stamp%-$d) +subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%-$d) subdirs-stamp-o = $(subst %,$o,$(subdirs-stamps)) $(subdirs-stamps): subdir_lib; endif @@ -512,7 +511,7 @@ objects objs: $(foreach o,$(object-suffixes),$(o-objects)) \ # Canned sequence for building an extra library archive. define build-extra-lib -$(patsubst %,cd %;,$(objdir)) \ +$(patsubst %/,cd %;,$(objpfx)) \ $(AR) cru$(verbose) $(@:$(objpfx)%=%) \ $(patsubst $(objpfx)%,%,$^) $(RANLIB) $@ @@ -736,12 +735,7 @@ cd $(@D); $(BUILD_CC) $(BUILD_CFLAGS) $(<:$(common-objpfx)%=%) -o $(@F) endef # We always want to use configuration definitions. -ifdef objdir -# This is always used in $(common-objdir), so we use no directory name. -BUILD_CFLAGS = -include config.h -else BUILD_CFLAGS = -include $(..)config.h -endif # Support the GNU standard name for this target. .PHONY: check @@ -773,7 +767,7 @@ common-mostlyclean: $(addsuffix .o,$(tests) $(others)) \ $(addsuffix .out,$(tests))) -rm -f $(addprefix $(objpfx),$(extra-objs) $(install-lib)) - -rm -f core $(objpfx)stub-$(subdir) + -rm -f core $(common-objpfx)stub-$(subdir) $(rmobjs) define rmobjs $(foreach o,$(object-suffixes), @@ -796,7 +790,7 @@ s = $(sysdep_dir)/stub $(common-objpfx)stub-$(subdir): $(+depfiles) # Use /dev/null since `...` might expand to empty. (s=`cd $s; /bin/pwd`; \ - $(patsubst %,cd %;,$(objdir)) \ + $(patsubst %/,cd %;,$(objpfx)) \ sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \ `sed -n 's@^.*$s/\([a-z0-9_-]*\.c\).*$$@'"$$s"/'\1@p' \ $(patsubst $(objpfx)%,%,$^) /dev/null` \ -- cgit 1.4.1