256 lines
9.8 KiB
Makefile
256 lines
9.8 KiB
Makefile
|
# -*- makefile -*-
|
||
|
# This is the developer's makefile, not the user's makefile.
|
||
|
# Don't use it unless you know exactly what you do!
|
||
|
|
||
|
SHELL = /bin/sh
|
||
|
MAKE = make
|
||
|
AUTOCONF = autoconf
|
||
|
AUTOHEADER = autoheader
|
||
|
AUTOMAKE = automake-1.16
|
||
|
ACLOCAL = aclocal-1.16
|
||
|
GPERF = gperf
|
||
|
CC = gcc -Wall
|
||
|
CFLAGS = -O
|
||
|
MAN2HTML = groff -mandoc -Thtml
|
||
|
CP = cp
|
||
|
RM = rm -f
|
||
|
|
||
|
|
||
|
all : srclib/Makefile.gnulib srclib/Makefile.in \
|
||
|
configures config.h.in \
|
||
|
include/iconv.h.build.in \
|
||
|
lib/aliases.h lib/aliases_sysaix.h lib/aliases_syshpux.h lib/aliases_sysosf1.h lib/aliases_syssolaris.h \
|
||
|
lib/aliases_aix.h lib/aliases_aix_sysaix.h \
|
||
|
lib/aliases_osf1.h lib/aliases_osf1_sysosf1.h \
|
||
|
lib/aliases_dos.h \
|
||
|
lib/aliases_zos.h \
|
||
|
lib/aliases_extra.h \
|
||
|
lib/flags.h lib/translit.h \
|
||
|
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 \
|
||
|
force
|
||
|
cd libcharset && $(MAKE) -f Makefile.devel all
|
||
|
|
||
|
|
||
|
# Before making a new release:
|
||
|
# - check that the encoding lists in README and man/iconv_open.3 are up to date,
|
||
|
# - check that the files in libcharset/lib/ are in sync with the gnulib module
|
||
|
# 'localcharset',
|
||
|
# - increment the version number in
|
||
|
# configure.ac
|
||
|
# include/iconv.h.in
|
||
|
# README
|
||
|
# - update the version info in lib/Makefile.in,
|
||
|
# - $ ./autogen.sh
|
||
|
# Making a new release:
|
||
|
# - $ ./configure CPPFLAGS=-Wall; make; make check
|
||
|
# - $ make dist
|
||
|
|
||
|
|
||
|
GNULIB_MODULES = \
|
||
|
binary-io \
|
||
|
error \
|
||
|
gettext \
|
||
|
gettext-h \
|
||
|
lib-symbol-visibility \
|
||
|
mbstate \
|
||
|
progname \
|
||
|
relocatable-prog \
|
||
|
safe-read \
|
||
|
sigpipe \
|
||
|
stdbool \
|
||
|
stdio \
|
||
|
stdlib \
|
||
|
strerror \
|
||
|
unistd \
|
||
|
uniwidth/width \
|
||
|
unlocked-io \
|
||
|
xalloc \
|
||
|
libiconv-misc
|
||
|
|
||
|
srclib/Makefile.gnulib :
|
||
|
if test -n "$$GNULIB_TOOL"; then \
|
||
|
$$GNULIB_TOOL --copy-file m4/codeset.m4 srcm4/codeset.m4 || exit $$?; \
|
||
|
$$GNULIB_TOOL --lib=libicrt --source-base=srclib --m4-base=srcm4 --makefile-name=Makefile.gnulib --no-libtool --local-dir=gnulib-local --no-vc-files \
|
||
|
--import $(GNULIB_MODULES); \
|
||
|
fi
|
||
|
|
||
|
gnulib-imported-files : force
|
||
|
if test -n "$$GNULIB_TOOL"; then \
|
||
|
for file in config.guess config.sub; do \
|
||
|
$$GNULIB_TOOL --copy-file build-aux/$$file || exit $$?; \
|
||
|
chmod a+x build-aux/$$file || exit $$?; \
|
||
|
done; \
|
||
|
$$GNULIB_TOOL --copy-file tests/qemu.h || exit $$?; \
|
||
|
fi
|
||
|
|
||
|
srclib/Makefile.in : srclib/Makefile.am srclib/Makefile.gnulib aclocal.m4
|
||
|
# Make sure we get new versions of files brought in by automake.
|
||
|
(cd build-aux && rm -f depcomp install-sh mdate-sh missing test-driver)
|
||
|
$(AUTOMAKE) --gnits --add-missing --copy srclib/Makefile && rm -rf autom4te.cache
|
||
|
|
||
|
|
||
|
CONFIGURES = configure
|
||
|
CONFIGURES_IN = configure.ac
|
||
|
|
||
|
aclocal.m4 : $(CONFIGURES_IN) srclib/Makefile.gnulib $(wildcard m4/*.m4) $(wildcard srcm4/*.m4)
|
||
|
$(ACLOCAL) -I m4 -I srcm4 --output=$@ && touch $@ && rm -rf autom4te.cache
|
||
|
|
||
|
configures : $(CONFIGURES)
|
||
|
|
||
|
AUTOCONF_FILES = aclocal.m4 $(wildcard m4/*.m4) $(wildcard srcm4/*.m4)
|
||
|
|
||
|
configure : configure.ac $(AUTOCONF_FILES)
|
||
|
$(AUTOCONF) && rm -rf autom4te.cache
|
||
|
|
||
|
check-configures : $(CONFIGURES)
|
||
|
set -e; for f in $(CONFIGURES); do bash -x -n $$f; done
|
||
|
|
||
|
config.h.in : configure.ac $(AUTOCONF_FILES)
|
||
|
$(AUTOHEADER) && rm -rf autom4te.cache
|
||
|
touch $@
|
||
|
|
||
|
|
||
|
include/iconv.h.build.in : include/iconv.h.in include/export.h
|
||
|
sed -e 's/extern \([^"]\)/extern LIBICONV_DLL_EXPORTED \1/' \
|
||
|
-e '/_LIBICONV_VERSION/r include/export.h' \
|
||
|
< $< > $@
|
||
|
|
||
|
|
||
|
lib/aliases.h lib/canonical.h lib/canonical_local.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
|
||
|
$(CC) $(CFLAGS) lib/genaliases.c -o genaliases
|
||
|
./genaliases lib/aliases.gperf canonical.sh canonical_local.sh
|
||
|
$(RM) genaliases
|
||
|
$(GPERF) -m 10 lib/aliases.gperf > tmp.h
|
||
|
sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases.h
|
||
|
sh canonical.sh > lib/canonical.h
|
||
|
sh canonical_local.sh > lib/canonical_local.h
|
||
|
$(RM) tmp.h canonical.sh canonical_local.sh
|
||
|
|
||
|
lib/aliases_sysaix.h lib/canonical_sysaix.h lib/canonical_local_sysaix.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
|
||
|
$(CC) $(CFLAGS) -DUSE_AIX_ALIASES lib/genaliases.c -o genaliases
|
||
|
./genaliases lib/aliases_sysaix.gperf canonical.sh canonical_local.sh
|
||
|
$(RM) genaliases
|
||
|
$(GPERF) -m 10 lib/aliases_sysaix.gperf > tmp.h
|
||
|
sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_sysaix.h
|
||
|
sh canonical.sh > lib/canonical_sysaix.h
|
||
|
sh canonical_local.sh > lib/canonical_local_sysaix.h
|
||
|
$(RM) tmp.h canonical.sh canonical_local.sh
|
||
|
|
||
|
lib/aliases_syshpux.h lib/canonical_syshpux.h lib/canonical_local_syshpux.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
|
||
|
$(CC) $(CFLAGS) -DUSE_HPUX_ALIASES lib/genaliases.c -o genaliases
|
||
|
./genaliases lib/aliases_syshpux.gperf canonical.sh canonical_local.sh
|
||
|
$(RM) genaliases
|
||
|
$(GPERF) -m 10 lib/aliases_syshpux.gperf > tmp.h
|
||
|
sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_syshpux.h
|
||
|
sh canonical.sh > lib/canonical_syshpux.h
|
||
|
sh canonical_local.sh > lib/canonical_local_syshpux.h
|
||
|
$(RM) tmp.h canonical.sh canonical_local.sh
|
||
|
|
||
|
lib/aliases_sysosf1.h lib/canonical_sysosf1.h lib/canonical_local_sysosf1.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
|
||
|
$(CC) $(CFLAGS) -DUSE_OSF1_ALIASES lib/genaliases.c -o genaliases
|
||
|
./genaliases lib/aliases_sysosf1.gperf canonical.sh canonical_local.sh
|
||
|
$(RM) genaliases
|
||
|
$(GPERF) -m 10 lib/aliases_sysosf1.gperf > tmp.h
|
||
|
sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_sysosf1.h
|
||
|
sh canonical.sh > lib/canonical_sysosf1.h
|
||
|
sh canonical_local.sh > lib/canonical_local_sysosf1.h
|
||
|
$(RM) tmp.h canonical.sh canonical_local.sh
|
||
|
|
||
|
lib/aliases_syssolaris.h lib/canonical_syssolaris.h lib/canonical_local_syssolaris.h : lib/encodings.def lib/encodings_local.def lib/genaliases.c
|
||
|
$(CC) $(CFLAGS) -DUSE_SOLARIS_ALIASES lib/genaliases.c -o genaliases
|
||
|
./genaliases lib/aliases_syssolaris.gperf canonical.sh canonical_local.sh
|
||
|
$(RM) genaliases
|
||
|
$(GPERF) -m 10 lib/aliases_syssolaris.gperf > tmp.h
|
||
|
sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_syssolaris.h
|
||
|
sh canonical.sh > lib/canonical_syssolaris.h
|
||
|
sh canonical_local.sh > lib/canonical_local_syssolaris.h
|
||
|
$(RM) tmp.h canonical.sh canonical_local.sh
|
||
|
|
||
|
lib/aliases_aix.h lib/canonical_aix.h : lib/encodings_aix.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_AIX lib/genaliases2.c -o genaliases
|
||
|
./genaliases aix lib/aliases_aix.h lib/canonical_aix.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
lib/aliases_aix_sysaix.h lib/canonical_aix_sysaix.h : lib/encodings_aix.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_AIX -DUSE_AIX_ALIASES lib/genaliases2.c -o genaliases
|
||
|
./genaliases aix lib/aliases_aix_sysaix.h lib/canonical_aix_sysaix.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
lib/aliases_osf1.h lib/canonical_osf1.h : lib/encodings_osf1.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_OSF1 lib/genaliases2.c -o genaliases
|
||
|
./genaliases osf1 lib/aliases_osf1.h lib/canonical_osf1.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
lib/aliases_osf1_sysosf1.h lib/canonical_osf1_sysosf1.h : lib/encodings_osf1.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_OSF1 -DUSE_OSF1_ALIASES lib/genaliases2.c -o genaliases
|
||
|
./genaliases osf1 lib/aliases_osf1_sysosf1.h lib/canonical_osf1_sysosf1.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
lib/aliases_dos.h lib/canonical_dos.h : lib/encodings_dos.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_DOS lib/genaliases2.c -o genaliases
|
||
|
./genaliases dos lib/aliases_dos.h lib/canonical_dos.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
lib/aliases_zos.h lib/canonical_zos.h : lib/encodings_zos.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_ZOS lib/genaliases2.c -o genaliases
|
||
|
./genaliases zos lib/aliases_zos.h lib/canonical_zos.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
lib/aliases_extra.h lib/canonical_extra.h : lib/encodings_extra.def lib/genaliases2.c
|
||
|
$(CC) $(CFLAGS) -DUSE_EXTRA lib/genaliases2.c -o genaliases
|
||
|
./genaliases extra lib/aliases_extra.h lib/canonical_extra.h
|
||
|
$(RM) genaliases
|
||
|
|
||
|
|
||
|
lib/flags.h : lib/encodings.def lib/encodings_aix.def lib/encodings_osf1.def lib/encodings_dos.def lib/encodings_zos.def lib/encodings_extra.def lib/converters.h lib/genflags.c
|
||
|
$(CC) $(CFLAGS) lib/genflags.c -o genflags
|
||
|
./genflags > lib/flags.h
|
||
|
$(RM) genflags
|
||
|
|
||
|
|
||
|
lib/translit.h : lib/translit.def lib/gentranslit.c
|
||
|
$(CC) $(CFLAGS) lib/gentranslit.c -o gentranslit
|
||
|
./gentranslit < lib/translit.def > lib/translit.h
|
||
|
$(RM) gentranslit
|
||
|
|
||
|
|
||
|
man/%.html : man/%
|
||
|
$(MAN2HTML) $< > $@-t
|
||
|
grep -v '<!-- CreationDate' < $@-t > $@
|
||
|
$(RM) $@-t
|
||
|
|
||
|
|
||
|
gnulib-clean : force
|
||
|
# Move srclib/Makefile.gnulib away, so that the target 'srclib/Makefile.gnulib' will actually do something.
|
||
|
if test -f srclib/Makefile.gnulib; then \
|
||
|
mv srclib/Makefile.gnulib srclib/Makefile.gnulib~; \
|
||
|
fi
|
||
|
# No need to remove the stale files. gnulib-tool does this itself, thanks to srcm4/gnulib-comp.m4.
|
||
|
# find srclib '(' -name '*.h' -o -name '*.c' -o -name '*.valgrind' ')' -exec rm -f '{}' ';'
|
||
|
# rm -rf srcm4
|
||
|
|
||
|
totally-clean : force
|
||
|
rm -f srclib/Makefile.in
|
||
|
rm -f aclocal.m4 $(CONFIGURES) config.h.in include/iconv.h.build.in
|
||
|
rm -f lib/aliases.gperf lib/aliases_sysaix.gperf lib/aliases_syshpux.gperf lib/aliases_sysosf1.gperf lib/aliases_syssolaris.gperf
|
||
|
rm -f lib/aliases.h lib/aliases_sysaix.h lib/aliases_syshpux.h lib/aliases_sysosf1.h lib/aliases_syssolaris.h
|
||
|
rm -f lib/aliases_aix.h lib/aliases_aix_sysaix.h
|
||
|
rm -f lib/aliases_osf1.h lib/aliases_osf1_sysosf1.h
|
||
|
rm -f lib/aliases_dos.h
|
||
|
rm -f lib/aliases_zos.h
|
||
|
rm -f lib/aliases_extra.h
|
||
|
rm -f lib/canonical.h lib/canonical_sysaix.h lib/canonical_syshpux.h lib/canonical_sysosf1.h lib/canonical_syssolaris.h
|
||
|
rm -f lib/canonical_aix.h lib/canonical_aix_sysaix.h
|
||
|
rm -f lib/canonical_osf1.h lib/canonical_osf1_sysosf1.h
|
||
|
rm -f lib/canonical_dos.h
|
||
|
rm -f lib/canonical_zos.h
|
||
|
rm -f lib/canonical_extra.h
|
||
|
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
|
||
|
rm -f lib/flags.h
|
||
|
rm -f lib/translit.h
|
||
|
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
|
||
|
cd libcharset && $(MAKE) -f Makefile.devel totally-clean
|
||
|
|
||
|
|
||
|
force :
|