build now works with --srcdir=../a/relative/path, --srcdir=/an/absolute/one and in source. Auxiliary data in data and test/testdata is generated by new Makefiles in these directories (data is new inside source). Some cleanup is still needed, for example when makeconv generates test files... Test code now knows about out of source vs in source build. Sorry... (Will be fixed if data and source are at the same level some day.) X-SVN-Rev: 2373
153 lines
4.2 KiB
Makefile
153 lines
4.2 KiB
Makefile
#******************************************************************************
|
|
#
|
|
# Copyright (C) 1998-2000, International Business Machines
|
|
# Corporation and others. All Rights Reserved.
|
|
#
|
|
#******************************************************************************
|
|
## Top-level Makefile.in for ICU
|
|
## Stephen F. Booth
|
|
|
|
## Shell to use
|
|
SHELL = @SHELL@
|
|
|
|
## Install directory information
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
bindir = @bindir@
|
|
sbindir = @sbindir@
|
|
datadir = @datadir@
|
|
libdir = @libdir@
|
|
includedir = @includedir@
|
|
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
|
|
## Build directory information
|
|
top_builddir = .
|
|
|
|
## Install program information
|
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
AUTOCONF = @AUTOCONF@
|
|
|
|
|
|
## Platform-specific setup
|
|
@host_frag@
|
|
|
|
|
|
## Pacakge information
|
|
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
UNICODE_VERSION = @UNICODE_VERSION@
|
|
|
|
## Optional directory setup
|
|
@EXTRAS_TRUE@EXTRA = extra
|
|
@EXTRAS_FALSE@EXTRA =
|
|
@TESTS_TRUE@TEST = test
|
|
@TESTS_FALSE@TEST =
|
|
@SAMPLES_TRUE@SAMPLE = samples
|
|
@SAMPLES_FALSE@SAMPLE =
|
|
|
|
## Files to remove for 'make clean'
|
|
CLEANFILES = *~
|
|
|
|
DOCDIRS = common i18n
|
|
SUBDIRS = data common i18n $(EXTRA) tools $(TEST) $(SAMPLE)
|
|
|
|
## Extra files to install [nothing at present]
|
|
EXTRA_DATA =
|
|
|
|
## List of phony targets
|
|
.PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \
|
|
install-recursive clean clean-local clean-recursive distclean \
|
|
distclean-local distclean-recursive doc dist dist-local dist-recursive \
|
|
check check-local check-recursive
|
|
|
|
## Clear suffix list
|
|
.SUFFIXES :
|
|
|
|
## List of standard targets
|
|
all: all-local all-recursive
|
|
install: install-recursive install-local
|
|
clean: clean-recursive clean-local
|
|
distclean : distclean-recursive distclean-local
|
|
dist: dist-recursive dist-local
|
|
check: all 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; \
|
|
fi
|
|
|
|
all-local: $(srcdir)/configure
|
|
|
|
install-local: $(top_builddir)/config/Makefile.inc $(EXTRA_DATA:%=$(DESTDIR)$(pkgdatadir)/$(VERSION)/%)
|
|
@$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
|
|
@$(mkinstalldirs) $(DESTDIR)$(sbindir)
|
|
$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkgdatadir)/Makefile.inc
|
|
$(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sbindir)/mkinstalldirs
|
|
|
|
$(DESTDIR)$(pkgdatadir)/$(VERSION)/%: $(top_srcdir)/../data/%
|
|
$(INSTALL_DATA) $< $@
|
|
|
|
## Generate HTML documentation
|
|
doc:
|
|
@uniq=`date '+%y%m%d9/30/99M%S'`; \
|
|
tmpdir="/tmp/icu-$$uniq"; \
|
|
list='$(DOCDIRS)'; for subdir in $$list; do \
|
|
echo "Making install-headers in $$subdir"; \
|
|
(cd $$subdir && \
|
|
$(MAKE) includedir=$$tmpdir/include install-headers); \
|
|
done; \
|
|
echo "Generating html documentation..."; \
|
|
doc++ -H -d $$tmpdir/html $$tmpdir/include/*.h > /dev/null 2>&1; \
|
|
$(RMV) $$tmpdir
|
|
|
|
dist-local:
|
|
|
|
clean-local:
|
|
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
|
|
|
|
distclean-local: clean-local
|
|
$(RMV) Makefile config.cache config.log config.status config/Makefile
|
|
$(RMV) common/unicode/platform.h common/icucfg.h
|
|
|
|
check-local:
|
|
|
|
#$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4
|
|
# cd $(srcdir) && $(AUTOCONF)
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
cd $(top_builddir) \
|
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
|
|
|
$(top_builddir)/config/Makefile.inc: $(srcdir)/config/Makefile.inc.in $(top_builddir)/config.status
|
|
cd $(top_builddir) \
|
|
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
|
|
|
config.status: $(srcdir)/configure
|
|
$(SHELL) ./config.status --recheck
|
|
|