scuffed-code/icu4c/source/tools/genrb/Makefile.in
Steven R. Loomis 8c6af53bb9 ICU-6706 improvement to build-icu4j
X-SVN-Rev: 25339
2009-01-29 08:03:14 +00:00

166 lines
4.3 KiB
Makefile

#################################################################################
## Makefile.in for ICU - tools/genrb #
## Copyright (c) 1999-2009, International Business Machines Corporation and #
## others. All Rights Reserved. #
#################################################################################
#
#
# For Help with this Makefile and the procedures for generating ICU4J data, please see
# "icu4j-readme.txt" in $icu4c_root/source/data
#
#
## Source directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../..
include $(top_builddir)/icudefs.mk
## Build directory information
subdir = tools/genrb
TARGET_STUB_NAME = genrb
DERB_STUB_NAME = derb
SECTION = 1
MAN_FILES = $(TARGET_STUB_NAME).$(SECTION) $(DERB_STUB_NAME).$(SECTION)
## Extra files to remove for 'make clean'
CLEANFILES = *~ $(MAN_FILES) $(DEPS) $(DERB_DEPS)
## Target information
TARGET = $(BINDIR)/$(TARGET_STUB_NAME)$(EXEEXT)
DERB = $(BINDIR)/$(DERB_STUB_NAME)$(EXEEXT)
ifneq ($(top_builddir),$(top_srcdir))
CPPFLAGS += -I$(top_builddir)/common
endif
CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir)/../toolutil
LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
OBJECTS = errmsg.o genrb.o parse.o read.o reslist.o ustr.o rbutil.o \
wrtjava.o rle.o wrtxml.o prscmnts.o
DERB_OBJ = derb.o
DEPS = $(OBJECTS:.o=.d)
DERB_DEPS = $(DERB_OBJ:.o=.d)
# build-icu4j variables
GENDTJAR_ICUHOME=$(shell pwd)/../../..
GENDTJAR_OPTS=--icu-root="$(GENDTJAR_ICUHOME)" --jar="$(GENDTJAR_JARHOME)" --icu4j-root="$(ICU4J_HOME)" --verbose
GENDTJAR_TEMP=./temp/
GENDTJAR=$(srcdir)/gendtjar.pl
-include Makefile.local
ifeq (,$(ICU4J_HOME))
ICU4J_HOME=$(shell pwd)/icu4j
endif
##Added by Brian Rower 6/25/08
##if JAVA_HOME was not set, try to set it by finding jar
ifeq (,$(JAVA_HOME))
JAVA_HOME=$(shell dirname `which jar`)/..
ifeq (,$(GENDTJAR_JARHOME))
GENDTJAR_JARHOME=$(shell dirname `which jar`)
endif
endif
##if GENDTJAR_JARHOME (the directory that "jar" lives in) is not set
##set it equal to $JAVA_HOME/bin
ifeq (,$(GENDTJAR_JARHOME))
GENDTJAR_JARHOME=""$(JAVA_HOME)"/bin"
endif
## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local dist dist-local check check-local install-man \
build-icu4j
## Clear suffix list
.SUFFIXES :
## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local
all-local: $(TARGET) $(DERB) $(MAN_FILES)
install-local: all-local install-man
$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
$(INSTALL) $(TARGET) $(DESTDIR)$(bindir)
$(INSTALL) $(DERB) $(DESTDIR)$(bindir)
install-man: $(MAN_FILES)
$(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
$(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(TARGET) $(DERB) $(OBJECTS) $(DERB_OBJ) $(GENDTJAR_TEMP)
distclean-local: clean-local
$(RMV) Makefile
check-local: all-local
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
$(DERB) : $(DERB_OBJ)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
#$(GENDTJAR_JARHOME)/jar:
# @echo $@ not found - make sure GENDTJAR_JARHOME is set. See Makefile.in
# exit 1
$(ICU4J_HOME)/build.xml:
@echo warning: $@ not found - make sure ICU4J_HOME is set.
#Removed GENDTJAR_JARHOME dependancy. If the file path happens to contain a space in it,
#having it as a target will cause it to error out when it thinks that there are TWO targets. - Brian Rower 6/25/08
build-icu4j: $(GENDTJAR) $(ICU4J_HOME)/build.xml #$(GENDTJAR_JARHOME)/jar
# clean up old temp files
-$(RMV) $(GENDTJAR_TEMP)
perl $(GENDTJAR) $(GENDTJAR_OPTS)
@echo Finished building to $(ICU4J_HOME)
# This line is needed to serialize builds when the gmake -j option is used.
$(TARGET_STUB_NAME).$(SECTION): $(DERB_STUB_NAME).$(SECTION)
%.$(SECTION): $(srcdir)/%.$(SECTION).in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
-include $(DERB_DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif