scuffed-code/icu4c/source/tools/genrb/Makefile.in
Yves Arrouye 2cf8109556 ICU-3 initial support for static libraries. The current problems are:
- pkgdata will still generate a dll (not a problem if you use files or the
mappable archive).
- because of referecences to ostream in ustring, the linker wants to resolve
these symbols, forcing us to use a C++ compiler to link C programs. That is
bad and need to be resolved.
- if you build static, then reconfigure w/o them and do make clean, the
static libraries will be left over.

Static is controlled by --enable-static. Shared libraries can be disabled
with --disable-shared.

X-SVN-Rev: 2494
2000-09-22 22:58:36 +00:00

172 lines
4.6 KiB
Makefile

## Makefile.in for ICU - tools/genrb
## Copyright (c) 1999, International Business Machines Corporation and
## others. All Rights Reserved.
## Shell to use
SHELL = @SHELL@
## Install directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
mandir = @mandir@
bindir = @bindir@
sbindir = @sbindir@
datadir = @datadir@
libdir = @libdir@
includedir = @includedir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
## Install program information
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
SECTION = 8
MAN_FILES = $(TARGET).$(SECTION)
## Compiler/tools information
CC = @CC@
CXX = @CXX@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
## Platform-specific setup
@host_frag@
## Build directory information
top_builddir = ../..
subdir = tools/genrb
## Extra files to remove for 'make clean'
CLEANFILES = *~ $(TARGET).$(SECTION)
## Target information
TARGET = genrb
ENABLE_STATIC = @ENABLE_STATIC@
ifneq ($(ENABLE_STATIC),)
LINK = $(LINK.cc)
else
LINK = $(LINK.c)
endif
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/extra/ustdio -I$(srcdir)/../toolutil
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
LDFLAGS = @LDFLAGS@ \
$(LD_RPATH)$(LD_RPATH_PRE)$(top_builddir)/common@ld_rpath_suf@$(LD_RPATH_PRE)$(top_builddir)/i18n@ld_rpath_suf@$(LD_RPATH_PRE)$(top_builddir)/tools/toolutil@ld_rpath_suf@$(LD_RPATH_PRE)$(top_builddir)/extra/ustdio@ld_rpath_suf@$(LD_RPATH_PRE)$(libdir)
LIBS = $(LIBUSTDIO) $(LIBICU-I18N) $(LIBICU-TOOLUTIL) $(LIBICU-UC) @LIBS@ @LIB_M@
##OBJECTS = error.o genrb.o ustr.o parse.o read.o write.o list.o \
##rblist.o util.o
OBJECTS = error.o genrb.o parse.o read.o reslist.o ustr.o util.o
DEPS = $(OBJECTS:.o=.d)
include $(srcdir)/genrbfiles.mk
DATABUILDDIR=@DATABUILDDIR@
-include $(srcdir)/reslocal.mk
## List of resource bundles to build
TXT_SOURCE = $(GENRB_SOURCE) $(GENRB_SOURCE_LOCAL) $(TRANSLIT_SOURCE)
TXT_FILES = $(TXT_SOURCE:%=$(top_srcdir)/../data/%)
RES_FILES = $(TXT_FILES:$(top_srcdir)/../data/%.txt=$(top_builddir)/data/%.res)
#TRANSLIT_FILES = $(TRANSLIT_SOURCE:%=$(top_srcdir)/../data/translit/%)
#TRANSLIT_RES = $(TRANSLIT_SOURCE:%.txt=$(top_builddir)/data/translit/%.res)
TEST_FILES = $(top_builddir)/test/testdata/root.res \
$(top_builddir)/test/testdata/te.res \
$(top_builddir)/test/testdata/te_IN.res \
$(top_builddir)/test/testdata/testtypes.res
## 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
## 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) $(MAN_FILES) $(RES_FILES) $(TRANSLIT_RES) $(TEST_FILES)
install-local: all-local install-man
$(mkinstalldirs) $(DESTDIR)$(sbindir)
$(INSTALL) $(TARGET) $(DESTDIR)$(sbindir)/$(TARGET)
<dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(TARGET) $(OBJECTS)
distclean-local: clean-local
$(RMV) Makefile $(DEPS) $(RES_FILES) $(TRANSLIT_RES) $(TEST_FILES)
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) -o $@ $^ $(LIBS)
## Rule to build a compiled res file.
## Note the order of the next three rules here is important!
$(top_builddir)/test/testdata/%.res : $(top_srcdir)/test/testdata/%.txt
@echo "Creating testdata resource file for $<"
ICU_DATA=$(top_builddir)/data ./genrb -s $(top_srcdir)/test/testdata/ -d $(top_builddir)/test/testdata/ $(<F)
$(top_builddir)/data/%.res : $(top_srcdir)/../data/%.txt
@echo "Creating compiled resource file for $<"
@ICU_DATA=$(top_builddir)/data ./genrb -s $(top_srcdir)/../data/ -d $(top_builddir)/data/ $(<F)
# the 'mv' will always fail if you are building in the source dir
# man page
install-man: $(MAN_FILES)
$(mkinstalldirs) $(DESTDIR)$(mandir)/man$(SECTION)
$(INSTALL_DATA) $< $(DESTDIR)$(mandir)/man$(SECTION)
$(TARGET).$(SECTION): $(srcdir)/$(TARGET).$(SECTION).in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
# only on linux probably ?
$(TARGET).ps: $(TARGET).$(SECTION)
groff -man < $< > $@
$(TARGET).pdf: $(TARGET).ps
ps2pdf $< $@
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif