## Makefile.in for ICU tools ## Copyright (c) 1999-2000, International Business Machines Corporation and ## others. All Rights Reserved. ## Source directory information srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. include $(top_builddir)/icudefs.mk include @platform_make_fragment@ ## CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/common -I$(top_builddir)/common CFLAGS = @CFLAGS@ CXXFLAGS = @CXXFLAGS@ ## Build directory information subdir = tools ## Allow overriding of package build mode ifeq ($(strip $(MODE)),) MODE=@DATA_PACKAGING_MODE@ endif # OBJDATADIR must be a short path (with ..'s) to the data. #SRCDATADIR=$(shell cd $(top_srcdir)/../data && /bin/pwd) SRCDATADIR=$(top_srcdir)/../data OBJDATADIR=$(shell cd $(top_builddir)/data && /bin/pwd) # tmpdir is INSIDE pkgdata dir. if you change TMPDATADIR then the invokation # of pkgdata will break... TMPDATADIR=tmp # DATABUILDDIR must be an absolute path because of the way pkgdata is invoked # from the temporary directory. DATABUILDDIR=$(shell cd $(OBJDATADIR) && /bin/pwd) CURDIR=$(shell /bin/pwd) # relative lib links from pkgdata are the same as for tmp top_builddir_from_tmp = $(patsubst ..%,../..%,$(top_builddir)) INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir_from_tmp)/common:$(top_builddir_from_tmp)/tools/toolutil:$$$(LDLIBRARYPATH_ENVVAR) PKGDATA = ../pkgdata/pkgdata -T . -s $(DATABUILDDIR) -O ./icupkg.inc -d $(DATABUILDDIR) -m $(MODE) ## 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 \ genccode genprops gennames gencmn gencnval gentz gentest pkgdata ## List of phony targets .PHONY : all all-local all-recursive install install-local install-files install-dlls 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 build-local ## Clear suffix list .SUFFIXES : ## List of standard targets all: all-recursive install: install-recursive clean: clean-local clean-recursive distclean : distclean-recursive dist: dist-recursive check: all check-recursive ## 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; \ fi all-local: build-local DAT_FILES=uprops.dat unames.dat cnvalias.dat tz.dat # ALL of these files can be deleted (the following BRK files) - they are copied BRK_FILES=char.brk line.brk line_th.brk sent.brk word.brk word_th.brk # don't include thaidict.brk - it goes into a resource bundle - plus it isn't deleted 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) include $(srcdir)/genrb/genrbfiles.mk -include $(srcdir)/genrb/reslocal.mk ALL_RES_SOURCE= $(GENRB_SOURCE) $(TRANSLIT_SOURCE) $(RESOURCE_SRC) $(GENRB_SOURCE_LOCAL) UCM_FILES = $(ALL_UCM_SOURCE:%=$(SRCDATADIR)/%) CNV_FILES = $(ALL_UCM_SOURCE:%.ucm=$(OBJDATADIR)/%.cnv) CNV_FILESL = $(ALL_UCM_SOURCE:%.ucm=%.cnv) RES_SRC_FILES = $(ALL_RES_SOURCE:%=$(SRCDATADIR)/%) RES_FILES = $(ALL_RES_SOURCE:%.txt=$(OBJDATADIR)/%.res) RES_FILESL = $(ALL_RES_SOURCE:%.txt=%.res) DATAFILESC=$(CNV_FILES) DATAFILESR=$(RES_FILES) DATAFILES=$(DATAFILESD) $(CNV_FILES) $(DATAFILESB) $(RES_FILES) DATAFILESL=$(DAT_FILES) $(CNV_FILESL) $(BRK_FILES) $(RES_FILESL) ## Files to remove for 'make clean' CLEANFILES = *~ $(BRK_FILES) install-udata: install-pkgdata $(MKINSTALLDIRS) $(DESTDIR)$(pkgsysconfdir) $(INSTALL_DATA) $(top_srcdir)/../data/convrtrs.txt $(DESTDIR)$(pkgsysconfdir) install-local: all-local install-udata dist-local: clean-local: clean-pkgdata test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) $(RMV) $(SRCDATAFILES) $(RMV) $(DATAFILES) $(RMV) icupkg.inc -@if [ -f $(TMPDATADIR)/$(ICUDATA_NAME)_dll.mak ]; then \ (cd pkgdata ; $(INVOKE) ./pkgdata -T $(TMPDATADIR) -m dll -p $(ICUDATA_NAME) -O $(DATABUILDDIR)/icupkg.inc $(TMPDATADIR)/$(ICUDATA_NAME).lst -d $(DATABUILDDIR) --clean ) \ fi -@if [ -f $(TMPDATADIR)/$(ICUDATA_NAME)_common.mak ]; then \ (cd pkgdata; $(INVOKE) ./pkgdata -T $(TMPDATADIR) -m common -p $(ICUDATA_NAME) -O $(DATABUILDDIR)/icupkg.inc $(TMPDATADIR)/$(ICUDATA_NAME).lst -d $(DATABUILDDIR) --clean ) \ fi -@$(RMV) $(TMPDATADIR) $(TMPDATADIR)2 # Clean up any old variations.. distclean-local: clean-local $(RMV) Makefile $(TMPDATADIR)/$(ICUDATA_NAME).lst: Makefile $(srcdir)/Makefile.in $(srcdir)/genrb/genrbfiles.mk $(srcdir)/makeconv/ucmfiles.mk @echo Generating $@ list of data files @$(MKINSTALLDIRS) $(TMPDATADIR) @-$(RMV) $(TMPDATADIR)/$(ICUDATA_NAME).lst @for file in $(DATAFILESL); do \ echo $(OBJDATADIR)/$$file >> $(TMPDATADIR)/$(ICUDATA_NAME).lst; \ done; $(TMPDATADIR)/testdata.lst: Makefile @$(MKINSTALLDIRS) $(TMPDATADIR) @echo $(DATABUILDDIR)/test.dat > $@ $(TMPDATADIR)2/testdata.lst: Makefile $(top_builddir)/test/testdata/root.res @$(MKINSTALLDIRS) $(TMPDATADIR)2 @echo $(DATABUILDDIR)/test.dat > $@ @echo $(DATABUILDDIR)/../test/testdata/root.res >> $@ $(TMPDATADIR)/icupkg.inc: pkgdata/icupkg.inc @$(MKINSTALLDIRS) $(TMPDATADIR) cp pkgdata/icupkg.inc $(TMPDATADIR)/icupkg.inc $(TMPDATADIR)2/icupkg.inc: pkgdata/icupkg.inc @$(MKINSTALLDIRS) $(TMPDATADIR)2 cp pkgdata/icupkg.inc $(TMPDATADIR)2/icupkg.inc # build the ICU and test data build-local build-pkgdata: $(TMPDATADIR)/$(ICUDATA_NAME).lst $(TMPDATADIR)/testdata.lst $(TMPDATADIR)/icupkg.inc $(TMPDATADIR)2/icupkg.inc $(TMPDATADIR)2/testdata.lst $(DATAFILES) $(top_builddir)/test/testdata/root.res @$(MKINSTALLDIRS) $(TMPDATADIR) @$(MKINSTALLDIRS) $(TMPDATADIR)2 (cd $(TMPDATADIR); $(INVOKE) $(PKGDATA) -p $(ICUDATA_NAME) ./$(ICUDATA_NAME).lst ) (cd $(TMPDATADIR); $(INVOKE) $(PKGDATA) -p testdat1 ./testdata.lst ) (cd $(TMPDATADIR)2; $(INVOKE) $(PKGDATA) -p testdat2 ./testdata.lst ) install-pkgdata: $(TMPDATADIR)/$(ICUDATA_NAME).lst $(TMPDATADIR)/icupkg.inc $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(pkglibdir)/$(VERSION) (cd $(TMPDATADIR); $(INVOKE) $(PKGDATA) -p $(ICUDATA_NAME) ./$(ICUDATA_NAME).lst -I $(DESTDIR)$(pkglibdir)/$(VERSION)) clean-pkgdata: -(cd $(TMPDATADIR); $(INVOKE) $(PKGDATA) -p $(ICUDATA_NAME) ./$(ICUDATA_NAME).lst --clean || echo '### Warning, cannot clean up icu/data if pkgdata is already gone.' ) -(cd $(TMPDATADIR); $(INVOKE) $(PKGDATA) -p testdat1 ./testdata.lst --clean || echo '### Warning, cannot clean up icu/data if pkgdata is already gone.' ) -(cd $(TMPDATADIR)2; $(INVOKE) $(PKGDATA) -p testdat2 ./testdata.lst --clean || echo '### Warning, cannot clean up icu/data if pkgdata is already gone.' ) -$(RMV) $(TMPDATADIR)/$(ICUDATA_NAME).lst $(TMPDATADIR)/testdata.lst $(TMPDATADIR)/icupkg.inc $(TMPDATADIR)2/testdata.lst check-local: Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status