1# Makefile for libiconv/lib
2
3#### Start of system configuration section. ####
4
5# Directories used by "make":
6srcdir = @srcdir@
7
8# Directories used by "make install":
9prefix = @prefix@
10local_prefix = /usr/local
11exec_prefix = @exec_prefix@
12libdir = @libdir@
13
14# Programs used by "make":
15CC = @CC@
16CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@
17CPPFLAGS = @CPPFLAGS@
18LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@)
19LDFLAGS_yes = -Wl,--export-all-symbols
20LDFLAGS_no =
21INCLUDES = -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.
24DEFS = -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@
28LIBTOOL = @LIBTOOL@
29LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile
30LIBTOOL_LINK = $(LIBTOOL) --mode=link
31LIBTOOL_INSTALL = $(LIBTOOL) --mode=install
32LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
33CP = cp
34MV = mv
35LN = @LN@
36LN_S = @LN_S@
37RM = rm -f
38
39# Programs used by "make install":
40INSTALL = @INSTALL@
41INSTALL_PROGRAM = @INSTALL_PROGRAM@
42INSTALL_DATA = @INSTALL_DATA@
43mkinstalldirs = $(SHELL) @top_srcdir@/build-aux/mkinstalldirs
44
45#### End of system configuration section. ####
46
47SHELL = /bin/sh
48
49# Before making a release, change this according to the libtool documentation,
50# section "Library interface versions".
51LIBICONV_VERSION_INFO = 6:0:4
52
53# Needed by $(LIBTOOL).
54top_builddir = ..
55
56SOURCES = $(srcdir)/iconv.c $(srcdir)/../libcharset/lib/localcharset.c $(srcdir)/relocatable.c
57
58OBJECTS = iconv.lo localcharset.lo relocatable.lo $(OBJECTS_@WOE32DLL@)
59OBJECTS_yes = iconv-exports.lo
60OBJECTS_no =
61
62all : @PLUGLIB@ libiconv.la
63
64libiconv.la : $(OBJECTS)
65	$(LIBTOOL_LINK) $(CC) $(LDFLAGS) -o libiconv.la -rpath $(libdir) -version-info $(LIBICONV_VERSION_INFO) -no-undefined $(OBJECTS)
66
67preloadable_libiconv.so : preloadable_libiconv_@OS@.so
68	$(RM) preloadable_libiconv.so
69	$(LN_S) preloadable_libiconv_@OS@.so preloadable_libiconv.so
70
71preloadable_libiconv_linux.so : $(SOURCES)
72	if test -n "@GCC@"; then \
73	  $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \
74	else \
75	  $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \
76	fi
77
78preloadable_libiconv_solaris.so : $(SOURCES)
79	if test -n "@GCC@"; then \
80	  $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_solaris.so; \
81	else \
82	  $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -G -o preloadable_libiconv_solaris.so; \
83	fi
84
85preloadable_libiconv_osf.so : $(SOURCES)
86	if test -n "@GCC@"; then \
87	  $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_osf.so; \
88	else \
89	  mkdir objects; \
90	  for f in $(SOURCES); do \
91	    $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -DPIC -DLIBICONV_PLUG -c $$f -o objects/`basename $$f | sed -e 's,\.c$$,.o,'`; \
92	  done; \
93	  /bin/ld -shared -expect_unresolved \* -o preloadable_libiconv_osf.so objects/*.o; \
94	  rm -rf objects; \
95	fi
96
97iconv.lo : $(srcdir)/iconv.c $(srcdir)/converters.h $(srcdir)/encodings.def $(srcdir)/encodings_aix.def $(srcdir)/encodings_osf1.def $(srcdir)/encodings_dos.def $(srcdir)/encodings_local.def $(srcdir)/aliases.h $(srcdir)/aliases_aix.h $(srcdir)/aliases_osf1.h $(srcdir)/aliases_dos.h $(srcdir)/flags.h
98	$(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/iconv.c
99
100localcharset.lo : $(srcdir)/../libcharset/lib/localcharset.c $(srcdir)/relocatable.h
101	$(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/../libcharset/lib/localcharset.c
102
103relocatable.lo : $(srcdir)/relocatable.c $(srcdir)/relocatable.h
104	$(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/relocatable.c
105
106iconv-exports.lo : $(srcdir)/../woe32dll/iconv-exports.c
107	$(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -c $(srcdir)/../woe32dll/iconv-exports.c
108
109# Installs the library and include files only. Typically called with only
110# $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
111install-lib : all force
112	if [ ! -d $(libdir) ] ; then $(mkinstalldirs) $(libdir) ; fi
113	$(LIBTOOL_INSTALL) $(INSTALL_DATA) libiconv.la $(libdir)/libiconv.la
114
115install : all force
116	if [ ! -d $(DESTDIR)$(prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(prefix) ; fi
117	if [ ! -d $(DESTDIR)$(exec_prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(exec_prefix) ; fi
118	if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
119	$(LIBTOOL_INSTALL) $(INSTALL_DATA) libiconv.la $(DESTDIR)$(libdir)/libiconv.la
120	if test -n "@PLUGLIB@"; then $(INSTALL_DATA) @PLUGLIB@ $(DESTDIR)$(libdir)/@PLUGLIB@.new && mv $(DESTDIR)$(libdir)/@PLUGLIB@.new $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi
121
122installdirs : force
123	if [ ! -d $(DESTDIR)$(prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(prefix) ; fi
124	if [ ! -d $(DESTDIR)$(exec_prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(exec_prefix) ; fi
125	if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
126
127uninstall : force
128	$(LIBTOOL_UNINSTALL) $(RM) $(DESTDIR)$(libdir)/libiconv.la
129	if test -n "@PLUGLIB@"; then $(RM) $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi
130
131check : all
132
133mostlyclean : clean
134
135clean : force
136	$(RM) *.o *.lo *.a *.la preloadable_libiconv* core *.stackdump so_locations
137	$(RM) -r .libs _libs
138
139distclean : clean
140	$(RM) Makefile config.h libtool
141
142maintainer-clean : distclean
143
144force :
145
146