5054cf54da
to specify where test_dat.[co] should go). X-SVN-Rev: 927
271 lines
7.0 KiB
Makefile
271 lines
7.0 KiB
Makefile
## Makefile.in for ICU tools
|
|
## Copyright (c) 1999-2000, International Business Machines Corporation and
|
|
## others. All Rights Reserved.
|
|
|
|
## Shell to use
|
|
SHELL = @SHELL@
|
|
VERSION = @VERSION@
|
|
|
|
## Install directory information
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
|
|
CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/common -I$(top_builddir)/common
|
|
CFLAGS = @CFLAGS@
|
|
CXXFLAGS = @CXXFLAGS@
|
|
|
|
|
|
@host_frag@
|
|
|
|
bindir = @bindir@
|
|
sbindir = @sbindir@
|
|
datadir = @datadir@
|
|
libdir = @libdir@
|
|
includedir = @includedir@
|
|
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
|
|
## Build directory information
|
|
top_builddir = ..
|
|
subdir = tools
|
|
|
|
# OBJDATADIR must be a short path (with ..'s) to the data.
|
|
# @RELATIVEDATADIR@ exists soley for this line.
|
|
|
|
ICUDATADIR=$(pkgdatadir)/$(VERSION)
|
|
SRCDATADIR=$(top_srcdir)/../data
|
|
OBJDATADIR=$(top_builddir)/@RELATIVEDATADIR@
|
|
|
|
## Install program information
|
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
## for cleaning up libraries
|
|
STRIP = @STRIP@
|
|
|
|
## Package information
|
|
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
|
|
|
|
SUBDIRS = ctestfw toolutil makeconv genrb gencol rbdump \
|
|
genccode gennames gencmn gencnval gentz gentest
|
|
|
|
## List of phony targets
|
|
.PHONY : all all-local all-recursive install install-local install-everything install-files install-dlls build-data build-cmnfile build-dll \
|
|
install-recursive clean clean-local clean-recursive distclean \
|
|
distclean-local distclean-recursive dist dist-local dist-recursive \
|
|
check check-local check-recursive build-testdlls build-basetestdata
|
|
|
|
## Clear suffix list
|
|
.SUFFIXES :
|
|
|
|
## List of standard targets
|
|
all: all-recursive all-local
|
|
install: install-recursive install-local
|
|
clean: clean-recursive clean-local
|
|
distclean : distclean-recursive distclean-local
|
|
dist: dist-recursive dist-local
|
|
check: check-recursive check-local
|
|
|
|
## Recursive targets
|
|
all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive:
|
|
@dot_seen=no; \
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
echo "Making $$target in $$subdir"; \
|
|
if test "$$subdir" = "."; then \
|
|
dot_seen=yes; \
|
|
local_target="$$target-local"; \
|
|
else \
|
|
local_target="$$target"; \
|
|
fi; \
|
|
(cd $$subdir && $(MAKE) $$local_target) || exit; \
|
|
done; \
|
|
if test "$$dot_seen" = "no"; then \
|
|
$(MAKE) "$$target-local" || exit 1; \
|
|
fi
|
|
|
|
all-local: build-local
|
|
|
|
DAT_FILES=unames.dat cnvalias.dat tz.dat
|
|
BRK_FILES=char.brk line.brk line_th.brk sent.brk word.brk word_th.brk
|
|
|
|
DATAFILESD=$(DAT_FILES:%=$(OBJDATADIR)/%)
|
|
DATAFILESB=$(BRK_FILES:%=$(OBJDATADIR)/%)
|
|
|
|
# copy the right endianness
|
|
|
|
ifeq (@U_IS_BIG_ENDIAN@,1)
|
|
$(OBJDATADIR)/%.brk: $(SRCDATADIR)/%BE.brk
|
|
cp $< $@
|
|
else
|
|
$(OBJDATADIR)/%.brk: $(SRCDATADIR)/%LE.brk
|
|
cp $< $@
|
|
endif
|
|
|
|
include $(srcdir)/makeconv/ucmfiles.mk
|
|
-include $(srcdir)/makeconv/ucmlocal.mk
|
|
ALL_UCM_SOURCE= $(UCM_SOURCE) $(UCM_SOURCE_LOCAL)
|
|
|
|
|
|
UCM_FILES = $(ALL_UCM_SOURCE:%=$(top_srcdir)/../data/%)
|
|
CNV_FILES = $(ALL_UCM_SOURCE:%.ucm=$(OBJDATADIR)/%.cnv)
|
|
DATAFILESC=$(CNV_FILES)
|
|
|
|
|
|
DATAFILES=$(DATAFILESD) $(DATAFILESC) $(DATAFILESB)
|
|
|
|
SRCDATAFILESD=$(DATAFILESD:%.dat=%_dat.c)
|
|
SRCDATAFILESC=$(DATAFILESC:%.cnv=%_cnv.c)
|
|
SRCDATAFILESB=$(DATAFILESB:%.brk=%_brk.c)
|
|
|
|
SRCDATAFILES=$(SRCDATAFILESD) $(SRCDATAFILESC) $(SRCDATAFILESB)
|
|
|
|
|
|
OBJDATAFILES=$(SRCDATAFILES:%.c=%.o)
|
|
COMMONFILE=$(OBJDATADIR)/icudata.dat
|
|
COMMONDLL=$(OBJDATADIR)/libicudata.$(SO)
|
|
|
|
#the files for creating the test data
|
|
TESTDATAFILE=test.dat
|
|
TESTDATAD=$(TESTDATAFILE:%=$(OBJDATADIR)/%)
|
|
TESTDATAFILEC=$(TESTDATAD:.dat=_dat.c)
|
|
OBJTESTFILE=$(TESTDATAFILEC:%.c=%.o)
|
|
TESTDATADLL=$(SRCDATADIR)/libtest_dat.$(SO)
|
|
BASEDATADLL=$(SRCDATADIR)/libbase_dat.$(SO)
|
|
BASETESTDATADLL=$(SRCDATADIR)/libbase_test_dat.$(SO)
|
|
|
|
BASETESTDATA=base_test.dat
|
|
build-basetestdata:
|
|
@echo Generating the base test data file (base_test.dat) from (test.dat)
|
|
@cp $(TESTDATAD) $(SRCDATADIR)/$(BASETESTDATA)
|
|
@ls -l $(SRCDATADIR)/$(BASETESTDATA)
|
|
|
|
# the files to be installed -- the COMMON ones + any stragglers
|
|
UDATA_FILES=icudata.dat
|
|
UDATA_DLLS=libicudata.$(SO)
|
|
|
|
### use the "--enable-mapped=" option to configure, to get mapped file behavior.
|
|
# the case where '--enable-mapped=yes'
|
|
@USE_MAPPED_TRUE@build-local: build-data build-cmnfile build-basetestdata
|
|
|
|
# the case where '--enable-mapped=no' (DEFAULT)
|
|
@USE_MAPPED_FALSE@build-local: build-data build-dll build-testdlls
|
|
###
|
|
|
|
# check for any other generated data here
|
|
install-data: $(DATAFILES)
|
|
|
|
build-cmnfile: $(COMMONFILE)
|
|
|
|
# the -Wpath [etc] has relative DLL paths in it
|
|
# so we have to cd into the other dir..
|
|
|
|
gencmn/mkmap.tmp: Makefile
|
|
|
|
|
|
$(COMMONFILE): $(DATAFILES)
|
|
@-rm -f gencmn/mkmap.tmp
|
|
@for file in $(DATAFILES); do \
|
|
echo `pwd`/$$file >> gencmn/mkmap.tmp; \
|
|
done;
|
|
@echo -n Generating common file $(COMMONFILE). Number of files:
|
|
-@wc -l gencmn/mkmap.tmp
|
|
-rm -f $(COMMONFILE)
|
|
@(cd gencmn ; ICU_DATA=$(OBJDATADIR) ./gencmn 1000000 mkmap.tmp )
|
|
-@ls -l $(COMMONFILE)
|
|
|
|
build-dll: $(COMMONDLL)
|
|
|
|
build-testdlls: $(TESTDATADLL) $(BASEDATADLL) $(BASETESTDATADLL)
|
|
|
|
%_dat.c: %.dat
|
|
(cd genccode ; ./genccode ../$< )
|
|
|
|
%_cnv.c: %.cnv
|
|
(cd genccode ; ./genccode ../$< )
|
|
|
|
%_brk.c: %.brk
|
|
(cd genccode ; ./genccode ../$< )
|
|
|
|
## Note: this generates a dummy C++ file to cause the HPUX CC linker
|
|
## to load exception handling (when requested..)
|
|
|
|
hpux_junk_obj.cpp:
|
|
echo "void to_emit_cxx_stuff_in_the_linker(){}" >> hpux_junk_obj.cpp
|
|
|
|
hpux_junk_obj.o: hpux_junk_obj.cpp
|
|
$(COMPILE.cc) -o $@ $<
|
|
|
|
# strip is optional
|
|
# -$(STRIP) $@
|
|
|
|
|
|
# HPUX_JUNK_OBJ is usually unset except by mh-hpux-cc
|
|
|
|
$(COMMONDLL): $(OBJDATAFILES) $(HPUX_JUNK_OBJ)
|
|
$(SHLIB.c) -o $@ $^
|
|
-ls -l $@
|
|
|
|
$(TESTDATADLL) $(BASEDATADLL) $(BASETESTDATADLL): $(OBJTESTFILE) $(HPUX_JUNK_OBJ)
|
|
$(SHLIB.c) -o $@ $^
|
|
-ls -l $@
|
|
|
|
srcs: $(SRCDATAFILES)
|
|
|
|
|
|
## Files to remove for 'make clean'
|
|
CLEANFILES = *~ $(BRK_FILES)
|
|
|
|
|
|
### use the "--enable-mapped=" option to configure, to get mapped file behavior.
|
|
# the case where '--enable-mapped=yes' - raw files [which can be mapped]
|
|
@USE_MAPPED_TRUE@install-udata: install-files
|
|
|
|
# the case where '--enable-mapped=no' (DEFAULT) - DLL's [so's to you]
|
|
@USE_MAPPED_FALSE@install-udata: install-dlls
|
|
###
|
|
|
|
install-local: build-local install-udata
|
|
|
|
install-everything: install-files install-dlls
|
|
|
|
install-files:
|
|
@for file in $(UDATA_FILES); do \
|
|
echo $(INSTALL_DATA) $(top_builddir)/data/$$file $(pkgdatadir)/$(VERSION)/$$file; \
|
|
$(INSTALL_DATA) $(top_builddir)/data/$$file $(pkgdatadir)/$(VERSION)/$$file; \
|
|
done
|
|
|
|
install-dlls:
|
|
@for file in $(UDATA_DLLS); do \
|
|
echo $(INSTALL_DATA) $(top_builddir)/data/$$file $(pkgdatadir)/$(VERSION)/$$file; \
|
|
$(INSTALL_DATA) $(top_builddir)/data/$$file $(pkgdatadir)/$(VERSION)/$$file; \
|
|
done
|
|
|
|
|
|
dist-local:
|
|
|
|
clean-local:
|
|
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
|
|
|
distclean-local:
|
|
rm -f Makefile
|
|
|
|
check-local:
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
cd $(top_builddir) \
|
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|