Add generic cache for IDispatch objects
[gpgol.git] / src / Makefile.am
1 # Makefile.am - makefile for GPGol
2 # Copyright (C) 2005 g10 Code GmbH
3 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
4 # Software engineering by Intevation GmbH
5 # Copyright (C) 2018 Intevation GmbH
6 #
7 # This file is free software; as a special exception the author gives
8 # unlimited permission to copy and/or distribute it, with or without
9 # modifications, as long as this notice is preserved.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
13 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
15 ## Process this file with automake to produce Makefile.in
16 SUBDIRS = icons
17
18 bin_PROGRAMS = gpgol 
19 EXTRA_DIST = \
20         versioninfo.rc.in mapi32.def Outlook.gpl \
21         dialogs.rc
22
23 EXEEXT = .dll
24
25 AM_CFLAGS = $(GPGME_CFLAGS) -shared
26 AM_CXXFLAGS = $(GPGME_CFLAGS) $(LIBASSUAN_CFLAGS) -shared -std=c++11
27 AM_CXXFLAGS += $(GPGMEPP_CXXFLAGS) -D_FILE_OFFSET_BITS=64
28
29 gpgol_SOURCES = \
30     addin-options.cpp addin-options.h \
31     application-events.cpp \
32     attachment.h attachment.cpp \
33     common.h common.cpp \
34     common_indep.h common_indep.c \
35     cpphelp.cpp cpphelp.h \
36     cryptcontroller.cpp cryptcontroller.h \
37     dialogs.h \
38     dispcache.h dispcache.cpp \
39     eventsink.h \
40     eventsinks.h \
41     exechelp.c exechelp.h \
42     explorer-events.cpp \
43     explorers-events.cpp \
44     filetype.c filetype.h \
45     folder-events.cpp \
46     gmime-table-private.h \
47     gpgoladdin.cpp gpgoladdin.h \
48     gpgol.def \
49     gpgol-ids.h \
50     keycache.cpp keycache.h \
51     mail.h mail.cpp \
52     mailitem-events.cpp \
53     main.c \
54     mapihelp.cpp mapihelp.h \
55     memdbg.cpp memdbg.h \
56     mimedataprovider.cpp mimedataprovider.h \
57     mimemaker.cpp mimemaker.h \
58     mlang-charset.cpp mlang-charset.h \
59     mymapi.h \
60     mymapitags.h \
61     olflange.cpp olflange.h \
62     oomhelp.cpp oomhelp.h \
63     overlay.cpp overlay.h \
64     parsecontroller.cpp parsecontroller.h \
65     parsetlv.h parsetlv.c \
66     resource.rc \
67     revert.cpp revert.h \
68     rfc2047parse.h rfc2047parse.c \
69     rfc822parse.c rfc822parse.h \
70     ribbon-callbacks.cpp ribbon-callbacks.h \
71     w32-gettext.cpp w32-gettext.h \
72     windowmessages.h windowmessages.cpp \
73     wks-helper.cpp wks-helper.h \
74     xmalloc.h
75
76 #treeview_SOURCES = treeview.c
77
78 # W32API 3.2 comes with an unusable libmapi32.a.  We build our own
79 # version.  Note the omission of -k (--kill-at) from the DLLTOOL
80 # command line.  We also create our own virtual copies to the _static_
81 # versions of GPGME and gpg-error, because we want to link to them
82 # statically, and not dynamically (otherwise Outlook would not find
83 # them).
84 gpgol_DEPENDENCIES = libmapi32.a libgpg-error.a libgpgme.a libassuan.a libgpgmepp.a
85
86 if BUILD_W64
87   DLLTOOLFLAGS64=--as-flags=--64 -m i386:x86-64
88 endif
89
90 libmapi32.a: mapi32.def
91         $(DLLTOOL) $(DLLTOOLFLAGS64) --output-lib $@ --def $<
92
93 libgpg-error.a:
94         ln -s $$($(GPG_ERROR_CONFIG) --prefix)/lib/libgpg-error.a .
95
96 libgpgme.a:
97         ln -s $$($(GPGME_CONFIG) --prefix)/lib/libgpgme.a .
98
99 libassuan.a:
100         ln -s $$($(LIBASSUAN_CONFIG) --prefix)/lib/libassuan.a .
101
102 libgpgmepp.a:
103         ln -s $$($(GPGME_CONFIG) --prefix)/lib/libgpgmepp.a .
104
105 clean-local:
106         rm -f libmapi32.a libgpg-error.a libgpgme.a libassuan.a libgpgmepp.a
107
108 gpgol_LDFLAGS = -static-libgcc -static-libstdc++
109
110 gpgol_LDADD = $(srcdir)/gpgol.def  \
111         -L . -lgpgmepp -lgpgme -lassuan -lgpg-error \
112         -lmapi32 -lshell32 -lgdi32 -lcomdlg32 \
113         -lole32 -loleaut32 -lws2_32 -ladvapi32 \
114         -luuid -lgdiplus -lrpcrt4
115
116 resource.o: resource.rc versioninfo.rc dialogs.rc dialogs.h
117
118 .rc.o:
119         $(WINDRES) -I $(srcdir) -I . -I .. `test -f '$<' || echo '$(srcdir)/'`$< $@