3 RAW_API = gmime-api.raw
4 METADATA = GMime.metadata
5 ASSEMBLY_NAME = gmime-sharp
6 references = $(GLIB_SHARP_LIBS)
7 SOURCES_XML = sources.xml
9 PACKAGE_SHARP = $(PACKAGE)-sharp-$(GMIME_API_VERSION)
10 ASSEMBLY = $(ASSEMBLY_NAME).dll
11 TARGET = $(ASSEMBLY) $(ASSEMBLY).config
13 noinst_DATA = $(API) $(ASSEMBLY) $(ASSEMBLY).config
14 CLEANFILES = $(ASSEMBLY) generated-stamp generated/*.cs $(API)
15 DISTCLEANFILES = $(ASSEMBLY).config AssemblyInfo.cs gmime-sharp-$(GMIME_API_VERSION).pc
16 GACUTIL_DESTDIR_FLAGS = -package $(PACKAGE_SHARP) -root $(DESTDIR)$(gacdir)
17 GACUTIL_FLAGS = -package $(PACKAGE_SHARP) -gacdir $(gacdir)
19 pkgconfigdir = $(libdir)/pkgconfig
20 pkgconfig_DATA = $(PACKAGE_SHARP).pc
21 gapidir = $(datadir)/gapi-2.0
22 gapi_DATA = $(TARGET_API)
30 $(srcdir)/StreamWrapper.cs \
31 $(srcdir)/HeaderEnumerator.cs \
36 CertificateCollection.custom \
40 InternetAddress.custom \
41 InternetAddressList.custom \
45 SignatureCollection.custom \
49 $(srcdir)/CertificateCollection.custom \
50 $(srcdir)/DataWrapper.custom \
51 $(srcdir)/Global.custom \
52 $(srcdir)/HeaderList.custom \
53 $(srcdir)/InternetAddress.custom \
54 $(srcdir)/InternetAddressList.custom \
55 $(srcdir)/Message.custom \
56 $(srcdir)/Multipart.custom \
57 $(srcdir)/Object.custom \
58 $(srcdir)/SignatureCollection.custom \
59 $(srcdir)/Stream.custom
62 $(ASSEMBLY).config.in \
72 $(PACKAGE_SHARP).pc: gmime-sharp.pc
73 -cp gmime-sharp.pc $(PACKAGE_SHARP).pc
75 $(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA)
76 cp $(srcdir)/$(RAW_API) $(API)
78 $(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA)
80 generated-stamp: $(API) $(build_customs)
81 rm -f generated/* && \
82 $(GAPI_CODEGEN) --generate $(API) --outdir=generated --customdir=$(srcdir) --assembly-name=$(ASSEMBLY_NAME) \
83 && touch generated-stamp
86 GAPI_CDECL_INSERT=$(top_srcdir)/gapi-cdecl-insert --keyfile=$(SNK) $(ASSEMBLY)
91 $(ASSEMBLY): $(build_sources) generated-stamp $(srcdir)/$(ASSEMBLY_NAME).snk
92 $(CSC) -unsafe /out:$(ASSEMBLY) /target:library $(references) \
93 -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk $(build_sources) generated/*.cs
95 sn -q -R $(ASSEMBLY) $(srcdir)/$(SNK)
98 @if test -n '$(TARGET)'; then \
99 if test -n '$(DESTDIR)'; then \
100 echo "$(GACUTIL) -i $(ASSEMBLY) -f $(GACUTIL_DESTDIR_FLAGS)"; \
101 $(GACUTIL) -i $(ASSEMBLY) -f $(GACUTIL_DESTDIR_FLAGS) || exit 1; \
103 echo "$(GACUTIL) -i $(ASSEMBLY) -f $(GACUTIL_FLAGS)"; \
104 $(GACUTIL) -i $(ASSEMBLY) -f $(GACUTIL_FLAGS) || exit 1; \
109 @if test -n '$(TARGET)'; then \
110 if test -n '$(DESTDIR)'; then \
111 echo "$(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_DESTDIR_FLAGS)"; \
112 $(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_DESTDIR_FLAGS) || exit 1; \
114 echo "$(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \
115 $(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; \
120 $(GAPI_PARSER) $(SOURCES_XML)