#******************************************************************************
#
#   Copyright (C) 1998-2000, International Business Machines
#   Corporation and others.  All Rights Reserved.
#
#******************************************************************************
## Top-level Makefile.in for ICU
## Stephen F. Booth

srcdir = @srcdir@
top_srcdir = @top_srcdir@

top_builddir = .

include $(top_builddir)/icudefs.mk

##

## Build directory information
subdir = .

AUTOCONF = @AUTOCONF@

## Platform-specific setup
include @platform_make_fragment@

## Optional directory setup
@EXTRAS_TRUE@EXTRA = extra
@EXTRAS_FALSE@EXTRA = 
@LAYOUT_TRUE@LAYOUT = layout
@LAYOUT_FALSE@LAYOUT = 
@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 =  stubdata common i18n $(LAYOUT) tools data $(EXTRA) $(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 clean-recursive-with-twist

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local all-recursive
install: install-recursive install-local
clean: clean-recursive-with-twist clean-local
distclean : distclean-recursive distclean-local
dist: dist-recursive dist-local
check: all check-recursive check-local

LOCAL_SUBDIRS = $(SUBDIRS)
CLEAN_FIRST_SUBDIRS = tools

## Recursive targets
all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive:
	@dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(LOCAL_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) RECURSIVE=YES $$local_target) || exit; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) "$$target-local" || exit; \
	fi

clean-recursive-with-twist:
	$(MAKE) clean-recursive LOCAL_SUBDIRS='$(CLEAN_FIRST_SUBDIRS) $(filter-out $(CLEAN_FIRST_SUBDIRS),$(LOCAL_SUBDIRS))'

all-local: $(srcdir)/configure icudefs.mk

install-local: $(top_builddir)/config/Makefile.inc @platform_make_fragment@ README $(EXTRA_DATA:%=$(DESTDIR)$(pkglibdir)/$(VERSION)/%)
	@$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/$(VERSION)/config
	@$(MKINSTALLDIRS) $(DESTDIR)$(pkglibdir)/$(VERSION)
	@$(MKINSTALLDIRS) $(DESTDIR)$(sbindir)
	$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/$(VERSION)/Makefile$(ICULIBSUFFIX).inc
	cd $(DESTDIR)$(pkglibdir); \
	    $(RM) current && ln -s $(VERSION) current; \
	    $(RM) Makefile$(ICULIBSUFFIX).inc && ln -s current/Makefile$(ICULIBSUFFIX).inc .
	$(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/$(VERSION)/config/@platform_make_fragment_name@
	$(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs
	$(INSTALL_DATA) README $(DESTDIR)$(pkgdatadir)/$(VERSION)/README

$(DESTDIR)$(pkglibdir)/$(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 README icudefs.mk config/Makefile
	$(RMV) $(top_builddir)/config/Makefile.inc
	$(RMV) config.cache config.log config.status
	$(RMV) common/unicode/platform.h common/icucfg.h

check-local:

#$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4
#	cd $(srcdir) && $(AUTOCONF)

icudefs.mk: $(srcdir)/icudefs.mk.in  $(top_builddir)/config.status
	cd $(top_builddir) \
		&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

README: $(srcdir)/README.in  $(top_builddir)/config.status
	cd $(top_builddir) \
		&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

Makefile: $(srcdir)/Makefile.in icudefs.mk $(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