1 AM_CPPFLAGS = $(MULECPPFLAGS)
2 AM_CFLAGS = $(MULECFLAGS)
3 AM_CXXFLAGS = $(MULECXXFLAGS)
4 AM_LDFLAGS = $(MULELDFLAGS)
6 SUBDIRS = libs utils pixmaps
9 # build webserver after current
10 SUBDIRS += . webserver
34 bin_PROGRAMS += amulecmd
42 bin_PROGRAMS += amulegui
46 bin_PROGRAMS += amuled
50 noinst_LIBRARIES = libmulesocket.a
52 noinst_LIBRARIES += libmuleappcore.a libmuleappgui.a libmuleappcommon.a
55 noinst_LIBRARIES += libmuleappcore.a libmuleappcommon.a
58 noinst_LIBRARIES += libmuleappgui.a libmuleappcommon.a
64 # Socket lib (WX or Asio)
66 libmulesocket_a_SOURCES = LibSocket.cpp
67 libmulesocket_a_CPPFLAGS = $(AM_CPPFLAGS) $(WXBASE_CPPFLAGS) $(BOOST_CPPFLAGS) -I$(srcdir)/libs -I$(srcdir)/include
70 # Common to core/gui/monolithic
72 libmuleappcommon_a_SOURCES = \
81 NetworkFunctions.cpp \
88 TerminationProcess.cpp \
91 libmuleappcommon_a_CPPFLAGS = $(AM_CPPFLAGS) $(WXBASE_CPPFLAGS) -I$(srcdir)/libs -I$(srcdir)/include $(CRYPTOPP_CPPFLAGS) $(LIBUPNP_CPPFLAGS)
94 # Common to core/monolithic
96 libmuleappcore_a_SOURCES = \
98 CanceledFileList.cpp \
102 IPFilterScanner.cpp \
105 PlatformSpecific.cpp \
106 RandomFunctions.cpp \
109 TerminationProcessAmuleweb.cpp \
110 ThreadScheduler.cpp \
112 kademlia/kademlia/Entry.cpp \
113 kademlia/kademlia/Indexed.cpp \
114 kademlia/kademlia/SearchManager.cpp \
115 kademlia/routing/RoutingBin.cpp \
116 kademlia/utils/UInt128.cpp
118 libmuleappcore_a_CPPFLAGS = $(AM_CPPFLAGS) $(WXBASE_CPPFLAGS) -I$(srcdir)/libs -I$(srcdir)/include $(CRYPTOPP_CPPFLAGS) $(LIBUPNP_CPPFLAGS)
121 # Common to gui/monolithic
123 libmuleappgui_a_SOURCES = \
126 EditServerListDlg.cpp \
127 extern/wxWidgets/listctrl.cpp \
128 FileDetailListCtrl.cpp \
138 libmuleappgui_a_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) -I$(srcdir)/libs -I$(srcdir)/include $(LIBUPNP_CPPFLAGS) $(GEOIP_CPPFLAGS)
144 ClientCreditsList.cpp \
145 ClientTCPSocket.cpp \
146 ClientUDPSocket.cpp \
147 CorruptionBlackBox.cpp \
150 ECSpecialCoreTags.cpp \
152 EncryptedStreamSocket.cpp \
153 EncryptedDatagramSocket.cpp \
165 ServerUDPSocket.cpp \
169 UploadBandwidthThrottler.cpp \
172 kademlia/kademlia/Kademlia.cpp \
173 kademlia/kademlia/Prefs.cpp \
174 kademlia/kademlia/Search.cpp \
175 kademlia/kademlia/UDPFirewallTester.cpp \
176 kademlia/net/KademliaUDPListener.cpp \
177 kademlia/net/PacketTracking.cpp \
178 kademlia/routing/Contact.cpp \
179 kademlia/routing/RoutingZone.cpp
190 CommentDialogLst.cpp \
191 GenericClientListCtrl.cpp \
192 ClientDetailDialog.cpp \
193 DirectoryTreeCtrl.cpp \
194 FileDetailDialog.cpp \
197 PrefsUnifiedDlg.cpp \
203 DownloadListCtrl.cpp \
205 SharedFilePeersListCtrl.cpp \
208 SharedFilesCtrl.cpp \
216 ECSpecialMuleTags.cpp \
232 core_libs = -L. -lmuleappcore $(LIBUPNP_LDFLAGS) $(LIBUPNP_LIBS)
233 gui_libs = -L. -lmuleappgui $(WX_LIBS) $(GEOIP_LDFLAGS) $(GEOIP_LIBS)
234 remote_common_libs = -Llibs/common -Llibs/ec/cpp -lmulecommon -lec $(BFD_LIBS) $(ZLIB_LDFLAGS) $(ZLIB_LIBS) $(RESOLV_LIB)
235 common_libs = -L. -lmuleappcommon $(remote_common_libs) -lmulesocket $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) $(CRYPTOPP_LDFLAGS) $(CRYPTOPP_LIBS)
237 core_deps = libmuleappcore.a
238 gui_deps = libmuleappgui.a
239 remote_common_deps = libs/common/libmulecommon.a libs/ec/cpp/libec.a
240 common_deps = libmuleappcommon.a $(remote_common_deps) libmulesocket.a
243 core_libs += -lshlwapi
249 core_flags = $(BOOST_CPPFLAGS) $(LIBUPNP_CPPFLAGS) $(LIBUPNP_CFLAGS)
250 gui_flags = $(WX_CPPFLAGS) $(GEOIP_CPPFLAGS)
251 common_flags = -I$(srcdir)/libs -Ilibs -I$(srcdir)/include $(CRYPTOPP_CPPFLAGS)
253 # --------- Apps ---------
256 amule-remote-gui.cpp \
263 CaptchaGenerator.cpp \
264 PartFileConvert.cpp \
265 PartFileConvertDlg.cpp \
277 amule_DEPENDENCIES = $(common_deps) $(core_deps) $(gui_deps)
278 amule_CPPFLAGS = $(AM_CPPFLAGS) $(core_flags) $(gui_flags) $(common_flags)
279 amule_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CFLAGS_ONLY) $(WX_CPPFLAGS_ONLY)
280 amule_LDADD = $(common_libs) $(core_libs) $(gui_libs)
282 amulegui_DEPENDENCIES = $(common_deps) $(gui_deps)
283 amulegui_CPPFLAGS = $(AM_CPPFLAGS) $(gui_flags) $(common_flags) -DCLIENT_GUI
284 amulegui_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CFLAGS_ONLY) $(WX_CXXFLAGS_ONLY)
285 amulegui_LDADD = $(common_libs) $(gui_libs)
287 amuled_DEPENDENCIES = $(core_deps) $(common_deps)
288 amuled_CPPFLAGS = $(AM_CPPFLAGS) $(WXBASE_CPPFLAGS) $(core_flags) $(common_flags) -DAMULE_DAEMON
289 amuled_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CFLAGS_ONLY) $(WX_CXXFLAGS_ONLY)
290 amuled_LDADD = $(common_libs) $(core_libs) $(WXBASE_LIBS)
297 ed2k_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_STD_STRING
301 ed2k_LDADD = -lshlwapi
305 ed2k_LDFLAGS = $(AM_LDFLAGS) -framework CoreServices
311 ExternalConnector.cpp \
316 amulecmd_DEPENDENCIES = $(remote_common_deps) libmulesocket.a
317 amulecmd_CPPFLAGS = $(AM_CPPFLAGS) $(WXBASE_CPPFLAGS) $(common_flags)
318 amulecmd_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CFLAGS_ONLY) $(WX_CXXFLAGS_ONLY)
319 #amulecmd_LDADD = $(WXBASE_LIBS) $(READLINE_LIBS) $(remote_common_libs)
320 amulecmd_LDADD = -Llibs/common -Llibs/ec/cpp -L. -lmulecommon -lec -lmulesocket \
321 $(WXBASE_LIBS) $(READLINE_LIBS) $(BFD_LIBS) $(ZLIB_LDFLAGS) $(ZLIB_LIBS) $(RESOLV_LIB) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS)
341 ClientCreditsList.h \
342 ClientDetailDialog.h \
343 SharedFilePeersListCtrl.h \
352 CorruptionBlackBox.h \
356 DirectoryTreeCtrl.h \
360 EditServerListDlg.h \
362 EncryptedDatagramSocket.h \
363 EncryptedStreamSocket.h \
364 ExternalConnector.h \
369 FileDetailListCtrl.h \
376 GenericClientListCtrl.h \
412 PartFileConvertDlg.h \
448 TerminationProcess.h \
449 TerminationProcessAmuleweb.h \
459 UploadBandwidthThrottler.h \
462 UPnPCompatibility.h \
464 extern/wxWidgets/listctrl.h
466 MAINTAINERCLEANFILES = Makefile.in
468 $(srcdir)/Parser.cpp: Parser.y
469 bison --debug -t -d -v -o $@ $(srcdir)/Parser.y
471 if GENERATE_FLEX_HEADER
472 $(srcdir)/Scanner.cpp: Scanner.l Parser.cpp
473 $(LEX) --header-file=$(srcdir)/Scanner.h -o $@ $(srcdir)/Scanner.l
475 $(srcdir)/Scanner.cpp: Scanner.l Parser.cpp
476 $(LEX) -o $@ $(srcdir)/Scanner.l; \
477 echo "// Empty file generated by a flex version unable to create headers" > $(srcdir)/Scanner.h
480 $(srcdir)/IPFilterScanner.cpp: IPFilterScanner.l
481 $(LEX) -Pyyip -o $@ $(srcdir)/IPFilterScanner.l;
490 $(RC) $(MULERCFLAGS) -I$(top_srcdir) $(RCFLAGS) -O COFF -i "$<" -o "$@"
492 nodist_amuled_SOURCES = amuled-version.rc
493 nodist_amulecmd_SOURCES = amulecmd-version.rc
494 nodist_ed2k_SOURCES = ed2k-version.rc
495 amule_LDADD += amulerc.$(OBJEXT)
496 amule_DEPENDENCIES += amulerc.$(OBJEXT)
497 amulegui_LDADD += amuleguirc.$(OBJEXT)
498 amulegui_DEPENDENCIES += amuleguirc.$(OBJEXT)
500 amulerc.$(OBJEXT): $(srcdir)/../amule.rc amule-version.rc
503 abs_builddir=`pwd` ; \
504 abs_top_srcdir=`cd $(top_srcdir) ; pwd` ; \
506 $(RC) $(MULERCFLAGS) -I$${abs_top_srcdir} $(RCFLAGS) -O COFF -o "$${abs_builddir}/$@" ; \
509 amuleguirc.$(OBJEXT): $(srcdir)/../amule.rc amulegui-version.rc
512 abs_builddir=`pwd` ; \
513 abs_top_srcdir=`cd $(top_srcdir) ; pwd` ; \
515 $(RC) $(MULERCFLAGS) -I$${abs_top_srcdir} $(RCFLAGS) -O COFF -o "$${abs_builddir}/$@" ; \
518 amule-version.rc: $(top_builddir)/version.rc
519 @sed -e 's/VER_FILEDESCRIPTION_STR/"All-Platform P2P Client Based on eMule"/' \
520 -e 's/VER_INTERNALNAME_STR/"amule"/' \
521 -e 's/VER_ORIGINALFILENAME_STR/"amule$(EXEEXT)"/' "$<" > "$@"
523 amuled-version.rc: $(top_builddir)/version.rc
524 @sed -e 's/VER_FILEDESCRIPTION_STR/"aMule Daemon"/' \
525 -e 's/VER_INTERNALNAME_STR/"amuled"/' \
526 -e 's/VER_ORIGINALFILENAME_STR/"amuled$(EXEEXT)"/' "$<" > "$@"
528 amulecmd-version.rc: $(top_builddir)/version.rc
529 @sed -e 's/VER_FILEDESCRIPTION_STR/"aMule Text Client"/' \
530 -e 's/VER_INTERNALNAME_STR/"amulecmd"/' \
531 -e 's/VER_ORIGINALFILENAME_STR/"amulecmd$(EXEEXT)"/' "$<" > "$@"
533 amulegui-version.rc: $(top_builddir)/version.rc
534 @sed -e 's/VER_FILEDESCRIPTION_STR/"aMule Remote GUI (Experimental)"/' \
535 -e 's/VER_INTERNALNAME_STR/"amulegui"/' \
536 -e 's/VER_ORIGINALFILENAME_STR/"amulegui$(EXEEXT)"/' "$<" > "$@"
538 ed2k-version.rc: $(top_builddir)/version.rc
539 @sed -e 's/VER_FILEDESCRIPTION_STR/"ED2K Links Handler"/' \
540 -e 's/VER_INTERNALNAME_STR/"ed2k"/' \
541 -e 's/VER_ORIGINALFILENAME_STR/"ed2k$(EXEEXT)"/' "$<" > "$@"
543 CLEANFILES = *-version.rc
548 EXTRA__DIST__SUBDIRS = include kademlia
549 include $(top_srcdir)/automake/dist-hook.am