]>
Commit | Line | Data |
---|---|---|
b75a7d8f A |
1 | #****************************************************************************** |
2 | # | |
73c04bcf | 3 | # Copyright (C) 1998-2006, International Business Machines |
b75a7d8f A |
4 | # Corporation and others. All Rights Reserved. |
5 | # | |
6 | #****************************************************************************** | |
7 | ## Top-level Makefile.in for ICU | |
8 | ## Stephen F. Booth | |
9 | ||
10 | srcdir = @srcdir@ | |
11 | top_srcdir = @top_srcdir@ | |
12 | ||
13 | top_builddir = . | |
14 | ||
15 | include $(top_builddir)/icudefs.mk | |
16 | ||
17 | docdir = $(datadir)/doc | |
18 | docsubdir = $(PACKAGE)$(ICULIBDASHSUFFIX)/html | |
19 | ||
20 | ## | |
21 | ||
22 | ## Build directory information | |
23 | subdir = . | |
24 | ||
374ca955 | 25 | #AUTOCONF = @AUTOCONF@ |
b75a7d8f A |
26 | |
27 | ## Optional directory setup | |
b75a7d8f | 28 | @LAYOUT_TRUE@LAYOUT = layout layoutex |
374ca955 A |
29 | @ICUIO_TRUE@ICUIO = io |
30 | @EXTRAS_TRUE@EXTRA = extra | |
b75a7d8f | 31 | @TESTS_TRUE@TEST = test |
b75a7d8f | 32 | @SAMPLES_TRUE@SAMPLE = samples |
b75a7d8f A |
33 | |
34 | DOXYGEN = @DOXYGEN@ | |
35 | ||
36 | ## Files to remove for 'make clean' | |
374ca955 | 37 | CLEANFILES = *~ |
b75a7d8f A |
38 | |
39 | ## Files built (autoconfed) and installed | |
374ca955 | 40 | INSTALLED_BUILT_FILES = $(top_builddir)/config/Makefile.inc $(top_builddir)/config/icu-config @platform_make_fragment@ $(EXTRA_DATA:%=$(DESTDIR)$(pkglibdir)/%) |
b75a7d8f A |
41 | |
42 | ## Files built (autoconfed) but not installed | |
43 | LOCAL_BUILT_FILES = icudefs.mk | |
44 | ||
45 | DOCDIRS = common i18n | |
374ca955 | 46 | SUBDIRS = stubdata common i18n $(LAYOUT) tools data $(ICUIO) $(EXTRA) $(SAMPLE) $(TEST) |
b75a7d8f A |
47 | |
48 | SECTION = 1 | |
49 | ||
50 | MANX_FILES = config/icu-config.$(SECTION) | |
51 | ||
52 | ALL_MAN_FILES = $(MANX_FILES) | |
53 | ||
54 | ## Extra files to install [nothing at present] | |
55 | EXTRA_DATA = | |
56 | ||
57 | ## List of phony targets | |
58 | .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \ | |
59 | install-recursive clean clean-local clean-recursive distclean \ | |
60 | distclean-local distclean-recursive doc dist dist-local dist-recursive \ | |
61 | check check-local check-recursive clean-recursive-with-twist install-icu \ | |
62 | doc install-doc | |
63 | ||
64 | ## Clear suffix list | |
65 | .SUFFIXES : | |
66 | ||
67 | ## List of standard targets | |
68 | all: all-local all-recursive | |
69 | install: install-recursive install-local | |
70 | clean: clean-recursive-with-twist clean-local | |
71 | distclean : distclean-recursive distclean-local | |
72 | dist: dist-recursive dist-local | |
73 | check: all check-recursive check-local | |
374ca955 | 74 | check-recursive: all |
b75a7d8f A |
75 | |
76 | ifeq ($(DOXYGEN),) | |
77 | doc: | |
78 | @echo you need Doxygen to generate documentation. Doxygen can be found on the Web | |
79 | @echo at http://www.doxygen.org/ | |
80 | else | |
81 | doc: doc/html/index.html | |
82 | ||
374ca955 | 83 | doc/html/index.html: Doxyfile $(wildcard ./common/unicode/platform.h $(srcdir)/common/unicode/*.h $(srcdir)/i18n/unicode/*.h $(srcdir)/layout/unicode/*.h $(srcdir)/io/unicode/*.h) |
b75a7d8f A |
84 | $(DOXYGEN) |
85 | ||
86 | Doxyfile: $(srcdir)/Doxyfile.in | |
87 | CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
88 | endif | |
89 | ||
90 | LOCAL_SUBDIRS = $(SUBDIRS) | |
91 | CLEAN_FIRST_SUBDIRS = tools | |
92 | ||
374ca955 A |
93 | $(LIBDIR) $(BINDIR): |
94 | -$(MKINSTALLDIRS) $@ | |
95 | ||
b75a7d8f | 96 | ## Recursive targets |
374ca955 | 97 | all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive: $(LIBDIR) $(BINDIR) |
b75a7d8f A |
98 | @dot_seen=no; \ |
99 | target=`echo $@ | sed s/-recursive//`; \ | |
100 | list='$(LOCAL_SUBDIRS)'; for subdir in $$list; do \ | |
101 | echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \ | |
102 | if test "$$subdir" = "."; then \ | |
103 | dot_seen=yes; \ | |
104 | local_target="$$target-local"; \ | |
105 | else \ | |
106 | local_target="$$target"; \ | |
107 | fi; \ | |
108 | (cd $$subdir && $(MAKE) RECURSIVE=YES $$local_target) || exit; \ | |
109 | done; \ | |
110 | if test "$$dot_seen" = "no"; then \ | |
111 | $(MAKE) "$$target-local" || exit; \ | |
112 | fi | |
113 | ||
114 | clean-recursive-with-twist: | |
115 | $(MAKE) clean-recursive LOCAL_SUBDIRS='$(CLEAN_FIRST_SUBDIRS) $(filter-out $(CLEAN_FIRST_SUBDIRS),$(LOCAL_SUBDIRS))' | |
116 | ||
117 | all-local: $(srcdir)/configure $(LOCAL_BUILT_FILES) $(INSTALLED_BUILT_FILES) | |
118 | ||
119 | install-local: install-icu install-manx | |
120 | ||
121 | install-icu: $(INSTALLED_BUILT_FILES) | |
122 | @$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/config | |
123 | @$(MKINSTALLDIRS) $(DESTDIR)$(pkglibdir) | |
124 | @$(MKINSTALLDIRS) $(DESTDIR)$(bindir) | |
125 | @$(MKINSTALLDIRS) $(DESTDIR)$(sbindir) | |
374ca955 A |
126 | $(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/config/@platform_make_fragment_name@ |
127 | $(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs | |
128 | $(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/license.html | |
129 | $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config | |
b75a7d8f A |
130 | $(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc |
131 | cd $(DESTDIR)$(pkglibdir)/..; \ | |
132 | $(RM) current && ln -s $(VERSION) current; \ | |
73c04bcf | 133 | $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc |
b75a7d8f A |
134 | |
135 | ifeq ($(DOXYGEN),) | |
136 | install-doc: | |
137 | else | |
138 | install-doc: doc | |
139 | $(RM) -r $(DESTDIR)$(docdir)/$(docsubdir) | |
140 | $(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(docsubdir) | |
141 | $(INSTALL_DATA) doc/html/* $(DESTDIR)$(docdir)/$(docsubdir) | |
142 | endif | |
143 | ||
144 | $(DESTDIR)$(pkglibdir)/%: $(top_srcdir)/../data/% | |
145 | $(INSTALL_DATA) $< $@ | |
146 | ||
147 | dist-local: | |
148 | ||
149 | clean-local: | |
150 | test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) | |
151 | $(RMV) Doxyfile doc | |
152 | ||
153 | distclean-local: clean-local | |
154 | $(RMV) Makefile config/Makefile icudefs.mk | |
155 | $(RMV) $(top_builddir)/config/Makefile.inc $(top_builddir)/config/icu-config | |
156 | $(RMV) config.cache config.log config.status | |
157 | ||
158 | check-local: | |
159 | ||
160 | #$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4 | |
161 | # cd $(srcdir) && $(AUTOCONF) | |
162 | ||
163 | icudefs.mk: $(srcdir)/icudefs.mk.in $(top_builddir)/config.status | |
164 | cd $(top_builddir) \ | |
165 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
166 | ||
b75a7d8f A |
167 | Makefile: $(srcdir)/Makefile.in icudefs.mk $(top_builddir)/config.status |
168 | cd $(top_builddir) \ | |
169 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
170 | ||
171 | $(top_builddir)/config/Makefile.inc: $(srcdir)/config/Makefile.inc.in $(top_builddir)/config.status | |
172 | cd $(top_builddir) \ | |
173 | && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
174 | ||
175 | $(top_builddir)/config/icu-config: $(top_builddir)/Makefile $(top_srcdir)/config/icu-config-top $(top_srcdir)/config/icu-config-bottom $(top_builddir)/config/Makefile.inc @platform_make_fragment@ $(top_srcdir)/config/make2sh.sed | |
176 | -$(RMV) $@ | |
374ca955 | 177 | $(INSTALL_SCRIPT) $(top_srcdir)/config/icu-config-top $@ |
73c04bcf | 178 | chmod u+w $@ |
b75a7d8f A |
179 | @echo "# Following from @platform_make_fragment@" >> $@ |
180 | sed -f $(top_srcdir)/config/make2sh.sed < $(top_builddir)/config/Makefile.inc | grep -v '#M#' | uniq >> $@ | |
181 | sed -f $(top_srcdir)/config/make2sh.sed < @platform_make_fragment@ | grep -v '#M#' | uniq >> $@ | |
182 | cat $(top_srcdir)/config/icu-config-bottom >> $@ | |
183 | echo "# Rebuilt on "`date` >> $@ | |
73c04bcf | 184 | chmod u-w $@ |
b75a7d8f A |
185 | |
186 | config.status: $(srcdir)/configure $(srcdir)/common/unicode/uversion.h | |
187 | @echo | |
188 | @echo | |
189 | @echo "*** config.status has become stale ***" | |
190 | @echo " 'configure' and/or 'uversion.h' have changed, please" | |
191 | @echo " do 'runConfigureICU' (or 'configure') again, as per" | |
192 | @echo " the readme.html." | |
193 | @echo | |
194 | @echo | |
195 | exit 1 | |
196 | ||
197 | ||
198 | install-manx: $(MANX_FILES) | |
199 | $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) | |
200 | $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) | |
201 | ||
202 | config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in | |
203 | cd $(top_builddir) \ | |
204 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
205 |