1# library
2lib_LTLIBRARIES = src/libmega.la
3
4# CXX flags
5if WIN32
6src_libmega_la_CXXFLAGS = -D_WIN32=1 -Iinclude/ -Iinclude/mega/win32 $(LIBS_EXTRA) $(ZLIB_CXXFLAGS) $(LIBUV_CXXFLAGS) $(LIBRAW_CXXFLAGS) $(LIBMEDIAINFO_CXXFLAGS) $(FFMPEG_CXXFLAGS) $(CRYPTO_CXXFLAGS) $(SODIUM_CXXFLAGS) $(DB_CXXFLAGS) $(CXXFLAGS) $(WINHTTP_CXXFLAGS) $(FI_CXXFLAGS) $(PCRE_CXXFLAGS)
7else
8src_libmega_la_CXXFLAGS = $(CARES_FLAGS) $(LIBCURL_FLAGS) $(ZLIB_CXXFLAGS) $(LIBUV_CXXFLAGS) $(LIBRAW_CXXFLAGS) $(LIBMEDIAINFO_CXXFLAGS) $(FFMPEG_CXXFLAGS) $(CRYPTO_CXXFLAGS) $(SODIUM_CXXFLAGS) $(DB_CXXFLAGS) $(FI_CXXFLAGS) $(LIBSSL_FLAGS) $(PCRE_CXXFLAGS)
9endif
10
11# Libs
12if WIN32
13src_libmega_la_LIBADD = $(LIBS_EXTRA)  $(FFMPEG_LDFLAGS) $(FFMPEG_LIBS) $(ZLIB_LDFLAGS) $(ZLIB_LIBS) $(LIBUV_LDFLAGS) $(LIBUV_LIBS) $(LIBRAW_LDFLAGS) $(LIBRAW_LIBS) $(LIBMEDIAINFO_LDFLAGS) $(LIBMEDIAINFO_LIBS) $(CRYPTO_LDFLAGS) $(CRYPTO_LIBS) $(SODIUM_LDFLAGS) $(SODIUM_LIBS) $(DB_LDFLAGS) $(DB_LIBS) $(WINHTTP_LDFLAGS) $(WINHTTP_LIBS) $(FI_LDFLAGS) $(FI_LIBS) $(PCRE_LDFLAGS) $(PCRE_LIBS)
14else
15src_libmega_la_LIBADD = $(CARES_LDFLAGS) $(CARES_LIBS) $(LIBCURL_LIBS) $(FFMPEG_LDFLAGS) $(FFMPEG_LIBS) $(ZLIB_LDFLAGS) $(ZLIB_LIBS) $(LIBUV_LDFLAGS) $(LIBUV_LIBS) $(LIBRAW_LDFLAGS) $(LIBRAW_LIBS) $(LIBMEDIAINFO_LDFLAGS) $(LIBMEDIAINFO_LIBS) $(CRYPTO_LDFLAGS) $(CRYPTO_LIBS) $(SODIUM_LDFLAGS) $(SODIUM_LIBS) $(DB_LDFLAGS) $(DB_LIBS) $(FI_LDFLAGS) $(FI_LIBS) $(LIBSSL_LDFLAGS) $(LIBSSL_LIBS) $(PCRE_LDFLAGS) $(PCRE_LIBS)
16endif
17
18# add library version
19src_libmega_la_LDFLAGS = -version-info $(VERSION_INFO) $(LIBMEGA_EXTRALDFLAGS)
20
21if ENABLE_STATIC
22src_libmega_la_LDFLAGS += -Wl,-static -all-static
23endif
24
25# common sources
26src_libmega_la_SOURCES = src/megaclient.cpp
27src_libmega_la_SOURCES += src/attrmap.cpp
28src_libmega_la_SOURCES += src/autocomplete.cpp
29src_libmega_la_SOURCES += src/backofftimer.cpp
30src_libmega_la_SOURCES += src/base64.cpp
31src_libmega_la_SOURCES += src/command.cpp
32src_libmega_la_SOURCES += src/commands.cpp
33src_libmega_la_SOURCES += src/db.cpp
34src_libmega_la_SOURCES += src/fileattributefetch.cpp
35src_libmega_la_SOURCES += src/file.cpp
36src_libmega_la_SOURCES += src/filefingerprint.cpp
37src_libmega_la_SOURCES += src/filesystem.cpp
38src_libmega_la_SOURCES += src/gfx.cpp
39src_libmega_la_SOURCES += src/http.cpp
40src_libmega_la_SOURCES += src/json.cpp
41src_libmega_la_SOURCES += src/mediafileattribute.cpp
42src_libmega_la_SOURCES += src/node.cpp
43src_libmega_la_SOURCES += src/pubkeyaction.cpp
44src_libmega_la_SOURCES += src/raid.cpp
45src_libmega_la_SOURCES += src/testhooks.cpp
46src_libmega_la_SOURCES += src/request.cpp
47src_libmega_la_SOURCES += src/serialize64.cpp
48src_libmega_la_SOURCES += src/share.cpp
49src_libmega_la_SOURCES += src/sharenodekeys.cpp
50src_libmega_la_SOURCES += src/sync.cpp
51src_libmega_la_SOURCES += src/transfer.cpp
52src_libmega_la_SOURCES += src/transferslot.cpp
53src_libmega_la_SOURCES += src/treeproc.cpp
54src_libmega_la_SOURCES += src/user.cpp
55src_libmega_la_SOURCES += src/useralerts.cpp
56src_libmega_la_SOURCES += src/utils.cpp
57src_libmega_la_SOURCES += src/logging.cpp
58src_libmega_la_SOURCES += src/waiterbase.cpp
59src_libmega_la_SOURCES += src/proxy.cpp
60src_libmega_la_SOURCES += src/crypto/cryptopp.cpp
61src_libmega_la_SOURCES += src/db/sqlite.cpp
62src_libmega_la_SOURCES += src/mega_utf8proc.cpp
63src_libmega_la_SOURCES += src/mega_ccronexpr.cpp
64src_libmega_la_SOURCES += src/mega_evt_tls.cpp
65src_libmega_la_SOURCES += src/gfx/external.cpp
66src_libmega_la_SOURCES += src/pendingcontactrequest.cpp
67src_libmega_la_SOURCES += src/mega_zxcvbn.cpp
68
69EXTRA_DIST = src/mega_utf8proc_data.c
70
71if BUILD_MEGAAPI
72src_libmega_la_SOURCES += src/megaapi_impl.cpp
73src_libmega_la_SOURCES += src/megaapi.cpp
74endif
75
76if USE_FREEIMAGE
77src_libmega_la_SOURCES += src/gfx/freeimage.cpp
78endif
79
80if USE_SODIUM
81src_libmega_la_SOURCES += src/crypto/sodium.cpp
82endif
83
84if USE_LIBUV
85src_libmega_la_SOURCES += src/mega_http_parser.cpp
86endif
87
88# IOS specific
89if USE_IOS
90src_libmega_la_SOURCES += src/gfx/GfxProcCG.mm
91else
92if DARWIN
93# MacOS specific
94src_libmega_la_OBJCXXFLAGS = $(src_libmega_la_CXXFLAGS)
95src_libmega_la_SOURCES += src/osx/osxutils.mm
96src_libmega_la_LDFLAGS += -framework SystemConfiguration -framework Foundation
97endif
98endif
99
100
101
102# win32 sources
103if WIN32
104src_libmega_la_SOURCES+= src/win32/fs.cpp
105src_libmega_la_SOURCES+= src/win32/console.cpp
106src_libmega_la_SOURCES+= src/win32/net.cpp
107src_libmega_la_SOURCES+= src/win32/waiter.cpp
108src_libmega_la_SOURCES+= src/win32/consolewaiter.cpp
109
110if HAVE_PTHREAD
111src_libmega_la_SOURCES += src/thread/posixthread.cpp
112else
113src_libmega_la_SOURCES+= src/thread/win32thread.cpp
114endif
115
116
117# posix sources
118else
119src_libmega_la_SOURCES += src/posix/fs.cpp
120src_libmega_la_SOURCES += src/posix/console.cpp
121src_libmega_la_SOURCES += src/posix/net.cpp
122src_libmega_la_SOURCES += src/posix/waiter.cpp
123src_libmega_la_SOURCES += src/posix/consolewaiter.cpp
124
125src_libmega_la_SOURCES += src/thread/posixthread.cpp
126
127endif
128
129
130if ANDROID
131src_libmega_la_SOURCES += src/mega_glob.c
132endif
133