aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/memory_hotplug.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/memory_hotplug.h')
0 files changed, 0 insertions, 0 deletions
='#n82'>82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
# Make the TAGS files.

# Copyright (C) 1992, 1994, 1995, 1996, 1998 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 Library General Public License
# as published by the Free Software Foundation; either version 2 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
# Library General Public License for more details.

# You should have received a copy of the GNU Library General Public
# License along with the GNU C Library; see the file COPYING.LIB.  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

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 -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),\
			$(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) $(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) no_deps=t $(@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-output \
	    --omit-header -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 -n -s $^ >> $@.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 $* no_deps=t ../$@
FORCE:
endif