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