Fixed .la dependency tracking for -lpthread
[barry.git] / src / Makefile.am
blobe729cc7f4ba699a9ffc4c95bd6c1c2b4a7797cd0
2 # The following version numbers are:  current:revision:age
4 # See also: http://sources.redhat.com/autobook/autobook/autobook_91.html
6 # Current - number of the current interface of the library
7 # Revision - implementation number of most recent interface
8 # Age - number of previous additional interfaces supported by this library
10 # Libtool uses the following calculation for Linux:
12 #    major = current - age
13 #    suffix = major.age.revision
15 # Therefore a libtool version of 1.4.0 will translate to a filename of:
16 #    libbarry.so.1.0.4
18 # Other operating systems just use current.revision, most of the time,
19 # and age is only used to subtract from current.
21 # Therefore, if you are careful never to increment the major version
22 # unless there is an incompatible break, you can get away with a
23 # two digit version number, and leave age as 0, always.
25 # Only ever increment the first 2 numbers in this version:
26 # The first number represents libmajor, the second libminor.
27 # So version 0.17.1 will look like 17:1:0
28 LIB_BARRY_VERSION = @BARRY_MAJOR@:@BARRY_MINOR@:0
30 # Disable the default -I. -I$(srcdir) -I$(topdir), etc, but $(top_builddir) is
31 # needed for config.h
32 DEFAULT_INCLUDES = -I$(top_builddir)
33 #INCLUDES = $(USB_LIBRARY_CFLAGS) $(OPENSSL_CFLAGS)
34 INCLUDES = $(USB_LIBRARY_CFLAGS)
35 #AM_CXXFLAGS = -ansi -Wall -fno-strict-aliasing -g -D__DEBUG_MODE__
36 AM_CFLAGS = -Wall -fno-strict-aliasing -g -D__BARRY_LIBRARY_BUILD__
37 AM_CXXFLAGS = -Wall -fno-strict-aliasing -g -D__BARRY_LIBRARY_BUILD__
38 AM_LDFLAGS =
39 if WITH_GCCVISIBILITY
40 AM_CFLAGS += -D__BARRY_HAVE_GCCVISIBILITY__ -fvisibility=hidden
41 #AM_CXXFLAGS += -D__BARRY_HAVE_GCCVISIBILITY__ -fvisibility=hidden -fvisibility-inlines-hidden
42 AM_CXXFLAGS += -D__BARRY_HAVE_GCCVISIBILITY__ -fvisibility=hidden
43 #AM_LDFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
44 AM_LDFLAGS += -fvisibility=hidden
45 endif
46 include_barrydir = ${includedir}/barry@BARRY_MAJOR@/barry
49 ## Boost library usage - required for serialization support, but optional
51 #BOOSTFLAG = -D__BARRY_BOOST_MODE__ -I../../../../boost/rootdir/include/boost-1_33_1
52 #LDBOOST = ../../../../boost/rootdir/lib/libboost_serialization-gcc-mt-1_33_1.a
53 ##BOOSTFLAG =
54 ##LDBOOST =
56 # Heavy duty C++ warnings
57 #WARNFLAGS = -ansi -pedantic -Wall -W -Wold-style-cast -Wfloat-equal -Wwrite-strings -Wno-long-long
58 #WARNFLAGS = -ansi -pedantic -Wall -W -Weffc++ -Woverloaded-virtual -Wold-style-cast -Wfloat-equal -Wwrite-strings -Wno-long-long -Werror
60 #LDFLAGS = ../../external/rootdir/libusb/lib/libusb.a $(LDBOOST) $(LDDEBUG)
62 # To use gettext
63 datadir = @datadir@
64 localedir = $(datadir)/locale
65 DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
68 # libbarry - main USB protocol interface library
69 # libbarryalx - ALX library
70 # libbarrydp - '.debug' parser library
71 # libbarryjdwp - java debug server library
72 # libbarrysync - utility functions and classes for syncing and vformats
73 # libbarrybackup - utility classes for reading/writing Barry backup files
75 lib_LTLIBRARIES = libbarry.la libbarrydp.la libbarryjdwp.la
76 if WITH_SYNC
77 lib_LTLIBRARIES += libbarrysync.la
78 endif
79 if WITH_BACKUP
80 lib_LTLIBRARIES += libbarrybackup.la
81 endif
82 if WITH_ALX
83 lib_LTLIBRARIES += libbarryalx.la
84 endif
86 include_barry_HEADERS = barry.h barrysync.h barrybackup.h barryalx.h \
87         dll.h \
88         builder.h \
89         common.h \
90         configfile.h \
91         controller.h \
92         xmlparser.h \
93         a_common.h \
94         a_codsection.h \
95         a_library.h \
96         a_application.h \
97         a_osloader.h \
98         a_alxparser.h \
99         m_mode_base.h \
100         m_desktop.h \
101         m_raw_channel.h \
102         m_desktoptmpl.h \
103         m_ipmodem.h \
104         m_serial.h \
105         m_javaloader.h \
106         m_jvmdebug.h \
107         data.h \
108         error.h \
109         ldif.h \
110         ldifio.h \
111         log.h \
112         parser.h \
113         pin.h \
114         probe.h \
115         protocol.h \
116         record.h \
117         modem.h \
118         r_recur_base.h \
119         r_calendar.h \
120         r_calllog.h \
121         r_bookmark.h \
122         r_contact.h \
123         r_cstore.h \
124         r_folder.h \
125         r_hhagent.h \
126         r_memo.h \
127         r_message_base.h \
128         r_message.h \
129         r_pin_message.h \
130         r_saved_message.h \
131         r_servicebook.h \
132         r_sms.h \
133         r_task.h \
134         r_timezone.h \
135         dataqueue.h \
136         router.h \
137         socket.h \
138         time.h \
139         threadwrap.h \
140         vsmartptr.h \
141         version.h \
142         pppfilter.h \
143         sha1.h \
144         iconv.h \
145         cod.h \
146         bmp.h \
147         s11n-boost.h \
148         dp_codinfo.h \
149         j_manager.h \
150         j_server.h \
151         vformat.h \
152         vbase.h \
153         vcard.h \
154         vevent.h \
155         vjournal.h \
156         vtodo.h \
157         mimeio.h \
158         scoped_lock.h \
159         semaphore.h \
160         backup.h \
161         restore.h \
162         pipe.h \
163         connector.h \
164         trim.h \
165         tzwrapper.h
167 noinst_HEADERS = cbarry.h \
168         base64.h \
169         record-internal.h \
170         bmp-internal.h \
171         cod-internal.h \
172         controllerpriv.h \
173         packet.h \
174         protostructs.h \
175         debug.h \
176         endian.h \
177         strnlen.h \
178         platform.h \
179         dp_parser.h \
180         j_message.h \
181         j_jdwp.h \
182         tarfile.h \
183         usbwrap_libusb.h \
184         usbwrap_libusb_1_0.h \
185         ios_state.h \
186         clog.h
188 # Include the windows-only code files here too
189 EXTRA_DIST = convo.awk \
190         legal.txt \
191         iconvwin.cc
193 libbarry_la_SOURCES = dll.h \
194         builder.h builder.cc \
195         parser.h parser.cc \
196         time.h time.cc \
197         base64.h base64.cc \
198         bmp.h bmp-internal.h bmp.cc \
199         cod.h cod-internal.h cod.cc \
200         data.h data.cc \
201         pin.h pin.cc \
202         probe.h probe.cc \
203         common.h common.cc \
204         configfile.h configfile.cc \
205         error.h error.cc \
206         ldif.h ldif.cc \
207         ldifio.h ldifio.cc \
208         log.h log.cc \
209         socket.cc \
210         router.cc \
211         dataqueue.cc \
212         threadwrap.cc \
213         protocol.h protostructs.h protocol.cc \
214         record.h record-internal.h record.cc \
215         r_recur_base.h r_recur_base.cc \
216         r_calendar.h r_calendar.cc \
217         r_calllog.h r_calllog.cc \
218         r_bookmark.h r_bookmark.cc \
219         r_command.cc \
220         r_contact.h r_contact.cc \
221         r_cstore.h r_cstore.cc \
222         r_hhagent.h r_hhagent.cc \
223         r_dbdb.cc \
224         r_folder.h r_folder.cc \
225         r_memo.h r_memo.cc \
226         r_message_base.h r_message_base.cc \
227         r_recordstate.cc \
228         r_servicebook.h r_servicebook.cc \
229         r_sms.h r_sms.cc \
230         r_task.h r_task.cc \
231         r_timezone.h r_timezone.cc \
232         packet.h packet.cc \
233         controller.h controller.cc \
234         pipe.h pipe.cc \
235         m_mode_base.h m_mode_base.cc \
236         m_desktop.h m_desktop.cc \
237         m_raw_channel.h m_raw_channel.cc \
238         m_ipmodem.h m_ipmodem.cc \
239         m_serial.h m_serial.cc \
240         m_javaloader.h m_javaloader.cc \
241         m_jvmdebug.h m_jvmdebug.cc \
242         connector.h connector.cc \
243         version.h version.cc \
244         pppfilter.h pppfilter.cc \
245         sha1.h sha1.cc \
246         iconv.h iconv.cc
248 # Now sort out USB files
249 if USE_BARRY_SOCKETS
250 include_barry_HEADERS += usbwrap.h
252 libbarry_la_SOURCES += usbwrap.cc
254 if USE_LIBUSB_0_1
255 libbarry_la_SOURCES += usbwrap_libusb.cc
256 endif
258 if USE_LIBUSB_1_0
259 libbarry_la_SOURCES += usbwrap_libusb_1_0.cc
260 endif
262 endif # USE_BARRY_SOCKETS
264 #libbarry_la_LIBADD = $(LTLIBOBJS) $(USB_LIBRARY_LIBS) $(OPENSSL_LIBS)
265 libbarry_la_LIBADD = $(LTLIBOBJS) $(USB_LIBRARY_LIBS) $(ZLIB_LIBS) @LTLIBICONV@
266 libbarry_la_LDFLAGS = -version-info ${LIB_BARRY_VERSION}
268 libbarrydp_la_SOURCES = \
269         dp_parser.h dp_parser.cc \
270         dp_codinfo.h dp_codinfo.cc
271 libbarrydp_la_LIBADD = libbarry.la
272 libbarrydp_la_LDFLAGS = -version-info ${LIB_BARRY_VERSION}
274 libbarryjdwp_la_SOURCES = \
275         j_record.cc \
276         j_jdwp.h j_jdwp.cc \
277         j_message.h j_message.cc \
278         j_server.h j_server.cc \
279         j_manager.h j_manager.cc
280 libbarryjdwp_la_LIBADD = libbarry.la libbarrydp.la $(USB_LIBRARY_LIBS) $(NETWORK_LIBRARY_LIBS)
281 libbarryjdwp_la_LDFLAGS = -version-info ${LIB_BARRY_VERSION}
283 if WITH_SYNC
284 libbarrysync_la_SOURCES = \
285         vformat.h vformat.c \
286         vbase.h vbase.cc \
287         vcard.h vcard.cc \
288         vevent.h vevent.cc \
289         vjournal.h vjournal.cc \
290         vtodo.h vtodo.cc \
291         mimeio.h mimeio.cc \
292         tzwrapper.h tzwrapper.cc
293 # if we set CFLAGS and CXXFLAGS ourselves, we need to include
294 # AM_*FLAGS as well... this only seems to matter for compile flags,
295 # not link flags
296 libbarrysync_la_CFLAGS = $(AM_CFLAGS) $(GLIB2_CFLAGS)
297 libbarrysync_la_CXXFLAGS = $(AM_CXXFLAGS) $(GLIB2_CFLAGS)
298 libbarrysync_la_LIBADD = libbarry.la $(GLIB2_LIBS)
299 libbarrysync_la_LDFLAGS = -version-info ${LIB_BARRY_VERSION}
300 endif
302 if WITH_BACKUP
303 libbarrybackup_la_SOURCES = \
304         tarfile.cc tarfile-ops-nt.cc \
305         backup.h backup.cc \
306         restore.h restore.cc
307 libbarrybackup_la_CFLAGS = $(AM_CFLAGS) $(LIBTAR_CFLAGS) $(LIBZ_CFLAGS)
308 libbarrybackup_la_CXXFLAGS = $(AM_CXXFLAGS) $(LIBTAR_CFLAGS) $(LIBZ_CFLAGS)
309 libbarrybackup_la_LIBADD = libbarry.la $(LIBTAR_LIBS) $(LIBZ_LIBS)
310 libbarrybackup_la_LDFLAGS = -version-info ${LIB_BARRY_VERSION}
311 endif
313 if WITH_ALX
314 libbarryalx_la_SOURCES = \
315         xmlparser.h xmlparser.cc \
316         a_common.h \
317         a_codsection.h a_codsection.cc \
318         a_library.h a_library.cc \
319         a_application.h a_application.cc \
320         a_osloader.h a_osloader.cc \
321         a_alxparser.h a_alxparser.cc
322 libbarryalx_la_CXXFLAGS = $(AM_CXXFLAGS) $(LIBXMLXX_CFLAGS)
323 libbarryalx_la_LIBADD = libbarry.la $(LIBXMLXX_LIBS)
324 libbarryalx_la_LDFLAGS = -version-info ${LIB_BARRY_VERSION}
325 endif
327 ##if DO_TEST
328 ##      bin_PROGRAMS += test-base64 test-data test-time
330 ##      test_base64_SOURCES = base64.h base64.cc
331 ##      test_data_SOURCES = data.h data.cc
332 ##      test_time_SOURCES = time.h time.cc
333 ##endif