1: # -*- makefile -*-
2: # This is the developer's makefile, not the user's makefile.
3: # Don't use it unless you know exactly what you do!
4:
5: SHELL = /bin/sh
6: MAKE = make
7: AUTOCONF = autoconf-2.69
8: AUTOHEADER = autoheader-2.69
9: AUTOMAKE = automake-1.16
10: ACLOCAL = aclocal-1.16
11: GPERF = gperf
12: CC = gcc -Wall
13: CFLAGS = -O
14: MAN2HTML = groff -mandoc -Thtml
15: CP = cp
16: RM = rm -f
17:
18:
19: all : srclib/Makefile.gnulib srclib/Makefile.in \
20: configures config.h.in \
21: include/iconv.h.build.in \
22: lib/aliases.h lib/aliases_sysaix.h lib/aliases_syshpux.h lib/aliases_sysosf1.h lib/aliases_syssolaris.h \
23: lib/aliases_aix.h lib/aliases_aix_sysaix.h \
24: lib/aliases_osf1.h lib/aliases_osf1_sysosf1.h \
25: lib/aliases_dos.h \
26: lib/aliases_extra.h \
27: lib/flags.h lib/translit.h \
28: man/iconv.1.html man/iconv.3.html man/iconv_close.3.html man/iconv_open.3.html man/iconvctl.3.html man/iconv_open_into.3.html \
29: force
30: cd libcharset && $(MAKE) -f Makefile.devel all
31:
32:
33: # Before making a new release:
34: # - check that the encoding lists in README and man/iconv_open.3 are up to date,
35: # - check that the files in libcharset/lib/ are in sync with the gnulib module
36: # 'localcharset',
37: # - increment the version number in
38: # configure.ac
39: # include/iconv.h.in
40: # README
41: # - update the version info in lib/Makefile.in,
42: # - $ ./autogen.sh
43: # Making a new release:
44: # - $ ./configure CPPFLAGS=-Wall; make; make check
45: # - $ make dist
46:
47:
48: GNULIB_MODULES = \
49: binary-io \
50: error \
51: gettext \
52: gettext-h \
53: mbstate \
54: progname \
55: relocatable-prog \
56: safe-read \
57: sigpipe \
58: stdio \
59: stdlib \
60: strerror \
61: unistd \
62: uniwidth/width \
63: unlocked-io \
64: xalloc \
65: libiconv-misc
66:
67: srclib/Makefile.gnulib :
68: if test -n "$$GNULIB_TOOL"; then \
69: $$GNULIB_TOOL --lib=libicrt --source-base=srclib --m4-base=srcm4 --makefile-name=Makefile.gnulib --no-libtool --local-dir=gnulib-local --no-vc-files \
70: --import $(GNULIB_MODULES); \
71: fi
72:
73: srclib/Makefile.in : srclib/Makefile.am srclib/Makefile.gnulib aclocal.m4
74: if test -n "$$GNULIB_TOOL"; then \
75: $$GNULIB_TOOL --copy-file build-aux/compile; \
76: fi
77: # Make sure we get new versions of files brought in by automake.
78: (cd build-aux && rm -f compile depcomp install-sh mdate-sh missing test-driver)
79: $(AUTOMAKE) --gnits --add-missing --copy srclib/Makefile && rm -rf autom4te.cache
80:
81: gnulib-imported-files : force
82: if test -n "$$GNULIB_TOOL"; then \
83: for file in config.guess config.sub; do \
84: $$GNULIB_TOOL --copy-file build-aux/$$file || exit $$?; \
85: chmod a+x build-aux/$$file || exit $$?; \
86: done; \
87: fi
88:
89:
90: CONFIGURES = configure
91: CONFIGURES_IN = configure.ac
92:
93: aclocal.m4 : $(CONFIGURES_IN) srclib/Makefile.gnulib $(wildcard m4/*.m4) $(wildcard srcm4/*.m4)
94: $(ACLOCAL) -I m4 -I srcm4 --output=$@ && touch $@ && rm -rf autom4te.cache
95:
96: configures : $(CONFIGURES)
97:
98: AUTOCONF_FILES = aclocal.m4 $(wildcard m4/*.m4) $(wildcard srcm4/*.m4)
99:
100: configure : configure.ac $(AUTOCONF_FILES)
101: $(AUTOCONF) && rm -rf autom4te.cache
102:
103: check-configures : $(CONFIGURES)
104: set -e; for f in $(CONFIGURES); do bash -x -n $$f; done
105:
106: config.h.in : configure.ac $(AUTOCONF_FILES)
107: $(AUTOHEADER) && rm -rf autom4te.cache
108: touch $@
109:
110:
111: include/iconv.h.build.in : include/iconv.h.in include/export.h
112: sed -e 's/extern \([^"]\)/extern LIBICONV_DLL_EXPORTED \1/' \
113: -e '/_LIBICONV_VERSION/r include/export.h' \
114: < $< > $@
115:
116:
117: lib/aliases.h lib/canonical.h lib/canonical_local.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
118: $(CC) $(CFLAGS) lib/genaliases.c -o genaliases
119: ./genaliases lib/aliases.gperf canonical.sh canonical_local.sh
120: $(RM) genaliases
121: $(GPERF) -m 10 lib/aliases.gperf > tmp.h
122: $(CP) tmp.h lib/aliases.h
123: sh canonical.sh > lib/canonical.h
124: sh canonical_local.sh > lib/canonical_local.h
125: $(RM) tmp.h canonical.sh canonical_local.sh
126:
127: lib/aliases_sysaix.h lib/canonical_sysaix.h lib/canonical_local_sysaix.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
128: $(CC) $(CFLAGS) -DUSE_AIX_ALIASES lib/genaliases.c -o genaliases
129: ./genaliases lib/aliases_sysaix.gperf canonical.sh canonical_local.sh
130: $(RM) genaliases
131: $(GPERF) -m 10 lib/aliases_sysaix.gperf > tmp.h
132: $(CP) tmp.h lib/aliases_sysaix.h
133: sh canonical.sh > lib/canonical_sysaix.h
134: sh canonical_local.sh > lib/canonical_local_sysaix.h
135: $(RM) tmp.h canonical.sh canonical_local.sh
136:
137: lib/aliases_syshpux.h lib/canonical_syshpux.h lib/canonical_local_syshpux.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
138: $(CC) $(CFLAGS) -DUSE_HPUX_ALIASES lib/genaliases.c -o genaliases
139: ./genaliases lib/aliases_syshpux.gperf canonical.sh canonical_local.sh
140: $(RM) genaliases
141: $(GPERF) -m 10 lib/aliases_syshpux.gperf > tmp.h
142: $(CP) tmp.h lib/aliases_syshpux.h
143: sh canonical.sh > lib/canonical_syshpux.h
144: sh canonical_local.sh > lib/canonical_local_syshpux.h
145: $(RM) tmp.h canonical.sh canonical_local.sh
146:
147: lib/aliases_sysosf1.h lib/canonical_sysosf1.h lib/canonical_local_sysosf1.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
148: $(CC) $(CFLAGS) -DUSE_OSF1_ALIASES lib/genaliases.c -o genaliases
149: ./genaliases lib/aliases_sysosf1.gperf canonical.sh canonical_local.sh
150: $(RM) genaliases
151: $(GPERF) -m 10 lib/aliases_sysosf1.gperf > tmp.h
152: $(CP) tmp.h lib/aliases_sysosf1.h
153: sh canonical.sh > lib/canonical_sysosf1.h
154: sh canonical_local.sh > lib/canonical_local_sysosf1.h
155: $(RM) tmp.h canonical.sh canonical_local.sh
156:
157: lib/aliases_syssolaris.h lib/canonical_syssolaris.h lib/canonical_local_syssolaris.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
158: $(CC) $(CFLAGS) -DUSE_SOLARIS_ALIASES lib/genaliases.c -o genaliases
159: ./genaliases lib/aliases_syssolaris.gperf canonical.sh canonical_local.sh
160: $(RM) genaliases
161: $(GPERF) -m 10 lib/aliases_syssolaris.gperf > tmp.h
162: $(CP) tmp.h lib/aliases_syssolaris.h
163: sh canonical.sh > lib/canonical_syssolaris.h
164: sh canonical_local.sh > lib/canonical_local_syssolaris.h
165: $(RM) tmp.h canonical.sh canonical_local.sh
166:
167: lib/aliases_aix.h lib/canonical_aix.h : lib/encodings_aix.def lib/genaliases2.c
168: $(CC) $(CFLAGS) -DUSE_AIX lib/genaliases2.c -o genaliases
169: ./genaliases aix lib/aliases_aix.h lib/canonical_aix.h
170: $(RM) genaliases
171:
172: lib/aliases_aix_sysaix.h lib/canonical_aix_sysaix.h : lib/encodings_aix.def lib/genaliases2.c
173: $(CC) $(CFLAGS) -DUSE_AIX -DUSE_AIX_ALIASES lib/genaliases2.c -o genaliases
174: ./genaliases aix lib/aliases_aix_sysaix.h lib/canonical_aix_sysaix.h
175: $(RM) genaliases
176:
177: lib/aliases_osf1.h lib/canonical_osf1.h : lib/encodings_osf1.def lib/genaliases2.c
178: $(CC) $(CFLAGS) -DUSE_OSF1 lib/genaliases2.c -o genaliases
179: ./genaliases osf1 lib/aliases_osf1.h lib/canonical_osf1.h
180: $(RM) genaliases
181:
182: lib/aliases_osf1_sysosf1.h lib/canonical_osf1_sysosf1.h : lib/encodings_osf1.def lib/genaliases2.c
183: $(CC) $(CFLAGS) -DUSE_OSF1 -DUSE_OSF1_ALIASES lib/genaliases2.c -o genaliases
184: ./genaliases osf1 lib/aliases_osf1_sysosf1.h lib/canonical_osf1_sysosf1.h
185: $(RM) genaliases
186:
187: lib/aliases_dos.h lib/canonical_dos.h : lib/encodings_dos.def lib/genaliases2.c
188: $(CC) $(CFLAGS) -DUSE_DOS lib/genaliases2.c -o genaliases
189: ./genaliases dos lib/aliases_dos.h lib/canonical_dos.h
190: $(RM) genaliases
191:
192: lib/aliases_extra.h lib/canonical_extra.h : lib/encodings_extra.def lib/genaliases2.c
193: $(CC) $(CFLAGS) -DUSE_EXTRA lib/genaliases2.c -o genaliases
194: ./genaliases extra lib/aliases_extra.h lib/canonical_extra.h
195: $(RM) genaliases
196:
197:
198: lib/flags.h : lib/encodings.def lib/encodings_aix.def lib/encodings_osf1.def lib/encodings_dos.def lib/encodings_extra.def lib/converters.h lib/genflags.c
199: $(CC) $(CFLAGS) lib/genflags.c -o genflags
200: ./genflags > lib/flags.h
201: $(RM) genflags
202:
203:
204: lib/translit.h : lib/translit.def lib/gentranslit.c
205: $(CC) $(CFLAGS) lib/gentranslit.c -o gentranslit
206: ./gentranslit < lib/translit.def > lib/translit.h
207: $(RM) gentranslit
208:
209:
210: man/%.html : man/%
211: $(MAN2HTML) $< > $@-t
212: grep -v '<!-- CreationDate' < $@-t > $@
213: $(RM) $@-t
214:
215:
216: gnulib-clean : force
217: # Move srclib/Makefile.gnulib away, so that the target 'srclib/Makefile.gnulib' will actually do something.
218: if test -f srclib/Makefile.gnulib; then \
219: mv srclib/Makefile.gnulib srclib/Makefile.gnulib~; \
220: fi
221: # No need to remove the stale files. gnulib-tool does this itself, thanks to srcm4/gnulib-comp.m4.
222: # find srclib '(' -name '*.h' -o -name '*.c' -o -name '*.valgrind' ')' -exec rm -f '{}' ';'
223: # rm -rf srcm4
224:
225: totally-clean : force
226: rm -f srclib/Makefile.in
227: rm -f aclocal.m4 $(CONFIGURES) config.h.in include/iconv.h.build.in
228: rm -f lib/aliases.gperf lib/aliases_sysaix.gperf lib/aliases_syshpux.gperf lib/aliases_sysosf1.gperf lib/aliases_syssolaris.gperf
229: rm -f lib/aliases.h lib/aliases_sysaix.h lib/aliases_syshpux.h lib/aliases_sysosf1.h lib/aliases_syssolaris.h
230: rm -f lib/aliases_aix.h lib/aliases_aix_sysaix.h
231: rm -f lib/aliases_osf1.h lib/aliases_osf1_sysosf1.h
232: rm -f lib/aliases_dos.h
233: rm -f lib/aliases_extra.h
234: rm -f lib/canonical.h lib/canonical_sysaix.h lib/canonical_syshpux.h lib/canonical_sysosf1.h lib/canonical_syssolaris.h
235: rm -f lib/canonical_aix.h lib/canonical_aix_sysaix.h
236: rm -f lib/canonical_osf1.h lib/canonical_osf1_sysosf1.h
237: rm -f lib/canonical_dos.h
238: rm -f lib/canonical_extra.h
239: rm -f lib/canonical_local.h lib/canonical_local_sysaix.h lib/canonical_local_syshpux.h lib/canonical_local_sysosf1.h lib/canonical_local_syssolaris.h
240: rm -f lib/flags.h
241: rm -f lib/translit.h
242: rm -f man/iconv.1.html man/iconv.3.html man/iconv_close.3.html man/iconv_open.3.html man/iconvctl.3.html man/iconv_open_into.3.html
243: cd libcharset && $(MAKE) -f Makefile.devel totally-clean
244:
245:
246: force :
247:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>