1 # Makefile for libiconv/lib
3 #### Start of system configuration section. ####
5 # Directories used by "make":
8 # Directories used by "make install":
10 local_prefix = /usr/local
11 exec_prefix = @exec_prefix@
14 # Programs used by "make":
16 CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@
18 LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@)
19 LDFLAGS_yes = -Wl,--export-all-symbols
21 INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include -I.. -I$(srcdir)/..
22 # -DBUILDING_LIBICONV: Change expansion of LIBICONV_DLL_EXPORTED macro.
23 # -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro.
24 DEFS = -DLIBDIR=\"$(libdir)\" -DBUILDING_LIBICONV -DBUILDING_DLL \
25 -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
26 -Dset_relocation_prefix=libiconv_set_relocation_prefix \
27 -Drelocate=libiconv_relocate @DEFS@
29 LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile
30 LIBTOOL_LINK = $(LIBTOOL) --mode=link
31 LIBTOOL_INSTALL = $(LIBTOOL) --mode=install
32 LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
33 # Windows resource compiler (windres). Used via libtool.
41 # Programs used by "make install":
43 INSTALL_PROGRAM = @INSTALL_PROGRAM@
44 INSTALL_DATA = @INSTALL_DATA@
45 mkinstalldirs = $(SHELL) @top_srcdir@/build-aux/mkinstalldirs
47 #### End of system configuration section. ####
51 # Before making a release, change this according to the libtool documentation,
52 # section "Library interface versions".
53 LIBICONV_VERSION_INFO = 8:0:6
55 PACKAGE_VERSION = @VERSION@
57 # Needed by $(LIBTOOL).
60 SOURCES = $(srcdir)/iconv.c $(srcdir)/../libcharset/lib/localcharset.c $(srcdir)/relocatable.c
62 OBJECTS = iconv.lo localcharset.lo relocatable.lo $(OBJECTS_EXP_@WOE32DLL@) $(OBJECTS_RES_@WOE32@)
63 OBJECTS_EXP_yes = iconv-exports.lo
65 OBJECTS_RES_yes = libiconv.res.lo
70 libiconv.la : $(OBJECTS)
71 $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) -o libiconv.la -rpath $(libdir) -version-info $(LIBICONV_VERSION_INFO) -no-undefined $(OBJECTS)
73 iconv.lo : $(srcdir)/iconv.c $(srcdir)/converters.h \
74 $(srcdir)/encodings.def $(srcdir)/encodings_aix.def $(srcdir)/encodings_osf1.def $(srcdir)/encodings_dos.def $(srcdir)/encodings_local.def \
75 $(srcdir)/aliases.h $(srcdir)/aliases_sysaix.h $(srcdir)/aliases_syshpux.h $(srcdir)/aliases_sysosf1.h $(srcdir)/aliases_syssolaris.h \
76 $(srcdir)/aliases_aix.h $(srcdir)/aliases_aix_sysaix.h \
77 $(srcdir)/aliases_osf1.h $(srcdir)/aliases_osf1_sysosf1.h \
78 $(srcdir)/aliases_dos.h \
79 $(srcdir)/aliases_extra.h \
80 $(srcdir)/flags.h $(srcdir)/translit.h
81 $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/iconv.c
83 localcharset.lo : $(srcdir)/../libcharset/lib/localcharset.c $(srcdir)/relocatable.h
84 $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/../libcharset/lib/localcharset.c
86 relocatable.lo : $(srcdir)/relocatable.c $(srcdir)/relocatable.h
87 $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/relocatable.c
89 iconv-exports.lo : $(srcdir)/../woe32dll/iconv-exports.c
90 $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/../woe32dll/iconv-exports.c
92 libiconv.res.lo : $(srcdir)/../windows/libiconv.rc
93 $(LIBTOOL_COMPILE) --tag=RC $(RC) `$(SHELL) $(srcdir)/../windows/windres-options --escape $(PACKAGE_VERSION)` -i $(srcdir)/../windows/libiconv.rc -o libiconv.res.lo --output-format=coff
95 # Installs the library and include files only. Typically called with only
96 # $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
97 install-lib : all force
98 if [ ! -d $(libdir) ] ; then $(mkinstalldirs) $(libdir) ; fi
99 $(LIBTOOL_INSTALL) $(INSTALL) libiconv.la $(libdir)/libiconv.la
101 # On AIX, libiconv.a must include the object files of /lib/libiconv.a,
102 # otherwise the setlocale() call fails when invoked from executables linked
103 # with -rpath $(libdir), even if linked without -liconv.
105 if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
106 $(LIBTOOL_INSTALL) $(INSTALL) libiconv.la $(DESTDIR)$(libdir)/libiconv.la
107 case "@host_os@" in \
108 aix*) (cd $(DESTDIR)$(libdir) && \
109 objects=`ar t libiconv.a`" "`ar t /lib/libiconv.a` && \
110 ar x libiconv.a && ar x /lib/libiconv.a && \
111 ar q libiconv.new.a $$objects && \
113 mv -f libiconv.new.a libiconv.a) ;; \
116 install-strip : install
119 if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
122 $(LIBTOOL_UNINSTALL) $(RM) $(DESTDIR)$(libdir)/libiconv.la
129 $(RM) *.o *.lo *.a *.la core *.stackdump so_locations
133 $(RM) Makefile config.h
135 maintainer-clean : distclean
137 # List of source files.
139 Makefile.in config.h.in \
144 encodings_extra.def \
145 encodings_local.def \
207 mac_centraleurope.h \
341 relocatable.h relocatable.c
342 # List of distributed files imported from other packages.
344 # List of distributed files generated by autotools or Makefile.devel.
346 aliases.gperf aliases_sysaix.gperf aliases_syshpux.gperf aliases_sysosf1.gperf aliases_syssolaris.gperf \
347 aliases.h aliases_sysaix.h aliases_syshpux.h aliases_sysosf1.h aliases_syssolaris.h \
348 aliases_aix.h aliases_aix_sysaix.h \
349 aliases_osf1.h aliases_osf1_sysosf1.h \
352 canonical.h canonical_sysaix.h canonical_syshpux.h canonical_sysosf1.h canonical_syssolaris.h \
353 canonical_aix.h canonical_aix_sysaix.h \
354 canonical_osf1.h canonical_osf1_sysosf1.h \
357 canonical_local.h canonical_local_sysaix.h canonical_local_syshpux.h canonical_local_sysosf1.h canonical_local_syssolaris.h \
360 # List of distributed files generated by "make".
361 DISTRIBUTED_BUILT_FILES =
362 # List of distributed files.
363 DISTFILES = $(SOURCE_FILES) $(IMPORTED_FILES) $(GENERATED_FILES) $(DISTRIBUTED_BUILT_FILES)
365 distdir : $(DISTFILES)
366 for file in $(DISTFILES); do \
367 if test -f $$file; then dir='.'; else dir='$(srcdir)'; fi; \
368 cp -p "$$dir/$$file" '$(distdir)'/$$file || exit 1; \