first commit
This commit is contained in:
173
extern/stdcxx/4.2.1/etc/config/GNUmakefile.bin
vendored
Normal file
173
extern/stdcxx/4.2.1/etc/config/GNUmakefile.bin
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
# -*- Makefile -*-
|
||||
#
|
||||
# $Id: GNUmakefile.bin 580483 2007-09-28 20:55:52Z sebor $
|
||||
#
|
||||
# makefile to build the C++ Standard library utility programs
|
||||
#
|
||||
########################################################################
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed
|
||||
# with this work for additional information regarding copyright
|
||||
# ownership. The ASF licenses this file to you under the Apache
|
||||
# License, Version 2.0 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# permissions and limitations under the License.
|
||||
#
|
||||
# Copyright 1999-2007 Rogue Wave Software, Inc.
|
||||
#
|
||||
########################################################################
|
||||
|
||||
include ../makefile.in
|
||||
|
||||
SRCDIRS = $(TOPDIR)/util
|
||||
|
||||
# include common variables setting for all makefiles
|
||||
ONE_REPOSITORY = 1
|
||||
include ../makefile.common
|
||||
|
||||
TARGET = exec localedef locale gencat
|
||||
|
||||
# locale sources and related
|
||||
NLSDIR = $(TOPDIR)/etc/nls
|
||||
LOCDIR = $(BUILDDIR)/nls
|
||||
|
||||
# add nls directory to VPATH so that the database directories do not
|
||||
# have to carry the path with them in the rule target.
|
||||
VPATH += $(LOCDIR)
|
||||
|
||||
# list of locales to build
|
||||
# first compose a full name from gen_list in the form
|
||||
# <locale name>.<codeset>
|
||||
# then move the known modifiers (@euro and @cyrillic) to the end
|
||||
# of the name
|
||||
LOCALES := \
|
||||
$(shell sed -e s:"^ *\([^ ]*\) *\([^ ]*\) *":"\1\.\2":g \
|
||||
-e s:"\([^.]*\)\(.euro\)\([^ ]*\)":"\1\3@euro":g \
|
||||
-e s:"\([^.]*\)\(.cyrillic\)\([^ ]*\)":"\1\3@cyrillic":g \
|
||||
$(NLSDIR)/gen_list)
|
||||
|
||||
## Filter from RUNTARGET only the scripts
|
||||
RUNTARGET := $(filter %.sh,$(RUNTARGET))
|
||||
|
||||
# If empty populate it with the names of the locales databases test scripts
|
||||
ifeq ($(RUNTARGET),)
|
||||
RUNTARGET := sanity_test.sh $(patsubst %,%.sh,$(LOCALES))
|
||||
endif
|
||||
|
||||
ifneq ($(CXX_REPOSITORY),)
|
||||
LDFLAGS += $(CPPFLAGS)
|
||||
endif # ($(CXX_REPOSITORY),)
|
||||
|
||||
# Don't want to link exec utility with stdlib, so create our own LDFLAGS var
|
||||
LDFLAGS.exec = $(filter-out -l$(LIBBASE),$(LDFLAGS))
|
||||
|
||||
ifneq ($(RPATH),)
|
||||
LDFLAGS += $(RPATH)$(LIBDIR)
|
||||
endif
|
||||
|
||||
########################################################################
|
||||
# TARGETS
|
||||
########################################################################
|
||||
|
||||
all: $(LIBDIR)/$(LIBNAME) $(TARGET) $(RUNTARGET)
|
||||
|
||||
$(LIBDIR)/$(LIBNAME):
|
||||
@$(MAKE) -C $(LIBDIR)
|
||||
|
||||
# link the run utility
|
||||
exec: runall.o cmdopt.o output.o util.o exec.o display.o
|
||||
@echo "$(LD) $^ -o $@ $(LDFLAGS.exec) $(LDLIBS)" $(call CXX.repo,$<) \
|
||||
>> $(LOGFILE)
|
||||
$(LD) $^ -o $@ $(LDFLAGS.exec) $(LDLIBS) $(call CXX.repo,$<) $(TEEOPTS)
|
||||
|
||||
# link the localedef utility
|
||||
localedef: localedef.o locale.o aliases.o charmap.o codecvt.o collate.o \
|
||||
ctype.o def.o diagnostic.o memchk.o messages.o monetary.o \
|
||||
numeric.o path.o time.o scanner.o
|
||||
@echo "$(LD) $^ -o $@ $(LDFLAGS) $(LDLIBS)" $(call CXX.repo,$<) \
|
||||
>> $(LOGFILE)
|
||||
$(LD) $^ -o $@ $(LDFLAGS) $(LDLIBS) $(call CXX.repo,$<) $(TEEOPTS)
|
||||
|
||||
# link the locale utility
|
||||
locale: locale_stub.o
|
||||
@echo "$(LD) $^ -o $@ $(LDFLAGS) $(LDLIBS)" $(call CXX.repo,$<) \
|
||||
>> $(LOGFILE)
|
||||
$(LD) $^ -o $@ $(LDFLAGS) $(LDLIBS) $(call CXX.repo,$<) $(TEEOPTS)
|
||||
|
||||
# link the gencat utility
|
||||
gencat: gencat.o
|
||||
@echo "$(LD) $^ -o $@ $(LDFLAGS) $(LDLIBS)" $(call CXX.repo,$<) \
|
||||
>> $(LOGFILE)
|
||||
$(LD) $^ -o $@ $(LDFLAGS) $(LDLIBS) $(call CXX.repo,$<) $(TEEOPTS)
|
||||
|
||||
# build all locales with the localedef utility
|
||||
locales: localedef $(LOCALES)
|
||||
|
||||
# the rule builds the scripts that are run by the runall script
|
||||
$(RUNTARGET): $(NLSDIR)/gen_list
|
||||
@(echo "making $@..."; \
|
||||
echo "#!/bin/sh" > $@; \
|
||||
locname=`echo $@ | sed "s:^\./::g;s:\.sh$$::g"`; \
|
||||
if [ "$@" = "sanity_test.sh" ]; then \
|
||||
echo "./run_utils -s -b $(BUILDDIR)/bin $$""*" >>$@; \
|
||||
else \
|
||||
echo "./run_utils -f -i $(NLSDIR) -l $$locname $$""*" >> $@; \
|
||||
fi; \
|
||||
chmod ug+x $@;)
|
||||
|
||||
# the rule presents as dependencies the source files corresponding
|
||||
# to that locale; it is run once for each entry in LOCALES
|
||||
$(LOCALES): $(NLSDIR)/gen_list
|
||||
@(lname=`echo $@ | sed "s:\([^.]*\)\.\([^@]*\)\(.*\):\1\3:;y:@:.:"`; \
|
||||
cname=`echo $@ | sed "s:\([^.]*\)\.\([^@]*\)\(.*\):\2:"`; \
|
||||
echo "./localedef -w -c -f $(NLSDIR)/charmaps/$$cname" \
|
||||
"-i $(NLSDIR)/src/$$lname $(LOCDIR)/$@"; \
|
||||
./localedef -w -c -f $(NLSDIR)/charmaps/$$cname \
|
||||
-i $(NLSDIR)/src/$$lname $(LOCDIR)/$@)
|
||||
|
||||
$(DEPENDDIR)/localedb.d: $(DEPENDDIR) $(NLSDIR)/gen_list
|
||||
@(echo "# generated locale dependencies" > $@; \
|
||||
for f in ""$(LOCALES); do \
|
||||
lname=`echo $$f | \
|
||||
sed "s:\([^.]*\)\.\([^@]*\)\(.*\):\1\3:;y:@:.:"`; \
|
||||
cname=`echo $$f | sed "s:\([^.]*\)\.\([^@]*\)\(.*\):\2:"`; \
|
||||
f=$$f; \
|
||||
echo "generating dependencies for $$f"; \
|
||||
echo "$$f: $$""(NLSDIR)/src/$$lname" \
|
||||
"$$""(NLSDIR)/charmaps/$$cname" >> $@; \
|
||||
done;)
|
||||
|
||||
# tell makefile.rules to include the generated dependencies file
|
||||
DEPS := $(DEPENDDIR)/localedb.d
|
||||
|
||||
# do any directory specific cleanup using the realclean target
|
||||
realclean: clean dependclean
|
||||
-rm -rf $(TARGET)
|
||||
|
||||
# compute the names of codesets (codecvt databases) and set
|
||||
# the variable only for the install target for efficiency
|
||||
install: codesets := \
|
||||
$(sort $(shell echo $(LOCALES) \
|
||||
| sed -e "s/[^ .@][^ .@]*\.\([^ ]*\)/\1/g" \
|
||||
-e "s/@[^ ]*//g"))
|
||||
|
||||
# create the $(PREFIX)/bin $(PREFIX)/nls directories and install
|
||||
# the utilities and locales
|
||||
install: locale localedef $(LOCALES)
|
||||
mkdir -p $(PREFIX)/bin
|
||||
cp locale localedef $(PREFIX)/bin
|
||||
mkdir -p $(PREFIX)/nls
|
||||
if [ "$(LOCALES)" != "" ]; then \
|
||||
cd ../nls && cp -R $(LOCALES) $(codesets) $(PREFIX)/nls; \
|
||||
fi
|
||||
|
||||
include ../makefile.rules
|
||||
Reference in New Issue
Block a user