From a334319f6530564d22e775935d9c91663623a1b4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 22 Dec 2004 20:10:10 +0000 Subject: (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. --- MakeTAGS | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 MakeTAGS (limited to 'MakeTAGS') diff --git a/MakeTAGS b/MakeTAGS new file mode 100644 index 0000000000..bee41252ee --- /dev/null +++ b/MakeTAGS @@ -0,0 +1,189 @@ +# Make the TAGS files. +# Copyright (C) 1992,1994,1995,1996,1998,2002,2003 +# Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, write to the Free +# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +# Make this the default goal. +TAGS: + +ifdef subdir +.. := ../ +endif + +include $(..)Makeconfig + +# Pass these to $(MAKE) calls to avoid source generation and such. +sub-make-vars = generating=t no_deps=t + +ifndef tags_sources +ifeq ($(subdir),ctype) +# In most cases, we want the C source files to come before +# the header files so tags for optimizing #define's in the +# headers won't be put in the tags files, but for ctype, +# the functions are just backup for the #define's in the header. +tags_sources = $(all-headers) $(all-sources) $(all-dist) +else # Not ctype. +tags_sources = $(all-sources) $(all-headers) $(all-dist) +endif # ctype +endif # No tags_sources + +sysdep-dirs := $(full_config_sysdirs) + +ifndef sysdep_dirs +# Find all sysdep directories. +sysdep_dirs := $(shell find $(..)sysdeps \ + $(wildcard \ + $(patsubst %,$(..)%/sysdeps,$(add-ons))) \ + -type d ! -name RCS ! -name CVS \ + ! -name SCCS -print) +endif + +# Find all sysdep dirs there are, but putting the ones +# we are configured to use first and preserving their order. +all-dirs := $(subdir-dirs) \ + $(objdir) \ + $(sysdep-dirs) \ + $(source_dirs) \ + $(filter-out $(sysdep-dirs),$(sysdep_dirs)) + +# Find all the subdirs there are, but putting the ones +# we are configured to use first and preserving their order. +ifndef subdir +subdirs := $(subdirs) \ + $(filter-out $(subdirs),\ + $(sort \ + $(shell sed -e 's/\#.*$$//' \ + $(wildcard $(addsuffix /Subdirs,\ + $(all-dirs)))\ + /dev/null))) +all-dist = $(foreach Dist,$(wildcard $(all-dirs:%=%/Dist)),\ + $(addprefix $(Dist:%/Dist=%)/,\ + $(filter %.c %.h %.S %.s,\ + $(shell cat $(Dist))))) +tags_sources = $(all-sources) $(all-headers) $(all-dist) +else +all-dist = $(distribute) +endif + +# sources and headers must be simply expanded variables +sources := $(sources) $(filter %.c %.s %.S,$(all-dist)) +headers := $(headers) $(filter %.h,$(all-dist)) +all-dist := $(filter-out %.h %.c %.s %.S,$(all-dist)) + +sources += $(foreach lib,$(extra-libs),$($(lib)-routines:=.c)) + +# All different versions of $(sources), preserving the configured sysdep +# directory order. +# Files that are found in the current directory cannot occur in +# sysdep directories, so don't bother searching them. +sysdep-sources := $(filter-out $(wildcard $(sources)), $(sources)) +all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \ + $(others:=.c) $(tests:=.c) $(xtests:=.c) \ + $(test-srcs:=.c))) \ + $(foreach dir,$(all-dirs),\ + $(wildcard \ + $(addprefix $(dir)/,\ + $(sort $(sysdep-sources) \ + $(sysdep-sources:.c=.S) \ + $(sysdep-sources:.c=.s))))) + +sysdep-headers := $(filter-out $(wildcard $(headers)), $(headers)) +all-headers = $(wildcard $(headers)) \ + $(foreach dir,$(all-dirs),\ + $(wildcard $(addprefix $(dir)/,$(sysdep-headers)))) + +tags_sources := $(strip $(tags_sources)) + +TAGS: $(tags_sources) +ifdef subdir +ifdef tags_sources + $(ETAGS) -o $@ $^ +else +# No sources. Create a dummy file. + touch $@ +endif # tags_sources +else # parent +TAGS: subdir_TAGS +# Note that this uses the -i switch, and thus requires v19 etags. + $(ETAGS) -o $@ \ + $(subdirs:%=-i %/TAGS) \ + $(filter-out subdir_TAGS,$^) + +.PHONY: subdir_TAGS $(subdirs:%=%/TAGS) +subdir_TAGS: $(subdirs:%=%/TAGS) +$(subdirs:%=%/TAGS): + $(MAKE) -C $(@D) $(sub-make-vars) $(@F) + +endif # subdir + +ifndef XGETTEXT +XGETTEXT = xgettext +endif + +P = $(..)po + +ifdef subdir +domain = $(subdir) +else +domain = libc-top +endif + +define extract +@rm -f $@.new +$(XGETTEXT) --keyword=_ --keyword=N_ --add-comments=TRANS --sort-by-file \ + --omit-header -E -n -d - $(XGETTEXTFLAGS-$(@F)) > $@.new $^ +mv -f $@.new $@ +endef + +text-srcs := $(filter %.c %.h %.cc %.C,$(tags_sources)) +$P/$(domain).pot: $(text-srcs) +ifeq (,$(text-srcs)) + cp /dev/null $@ +else + $(extract) +endif + +all-pot = $P/libc-top.pot $P/subdirs.pot + +ifndef subdir +# Collect all the subdir messages, massaging the file names in comments +# to include the subdir name. +$P/subdirs.pot: $(subdirs:%=$P/%.pot) + @rm -f $@.new + (for d in $(subdirs); \ + do sed "/^#:/s% % $$d/%g" $P/$$d.pot; done) > $@.new + mv -f $@.new $@ + +# Combine all the messages into the final sorted template translation file. +# The following code requires GNU date. +$P/libc.pot: $(all-pot) + @rm -f $@.new + set `date -R`; disp="$$6"; \ + sed -e 's/VERSION/$(version)/' \ + -e "s/DATE/`date +'%Y-%m-%d %H:%M'$$disp`/" \ + po/header.pot > $@.new + $(XGETTEXT) -d - --omit-header -E -n $^ >> $@.new + mv -f $@.new $@ +ifeq ($(with-cvs),yes) + test ! -d CVS || cvs $(CVSOPTS) ci -m'Regenerated from source files' $@ +endif + +$(subdirs:%=$P/%.pot): $P/%.pot: FORCE + $(MAKE) -C $* $(sub-make-vars) ../$@ +FORCE: +endif -- cgit 1.4.1