RAW_APIS = evolution-api-1.8.raw
if USE_EDS_1_8
RAW_API = evolution-api-1.8.raw
endif
# NOTE! We use the 1.8 API definition for 1.9.x and 1.10.x. We can do this
# even though the .so version for libedataserver is 9 instead of 7 because we
# bind only a subset of it, and it didn't change between 1.8 and 1.10. This
# might not always be the case, so you HAVE TO RECHECK IT BEFORE YOU ADD
# SUPPORT FOR 1.11!
if USE_EDS_1_9
RAW_API = evolution-api-1.8.raw
endif
if USE_EDS_1_10
RAW_API = evolution-api-1.8.raw
endif
API=evolution-api.xml
METADATA = Evolution.metadata
ASSEMBLY_NAME = evolution-sharp
references = $(GTK_SHARP_LIBS)
TARGET = $(ASSEMBLY)
ASSEMBLY = $(ASSEMBLY_NAME).dll
gapidir = $(datadir)/gapi-2.0
noinst_DATA = $(ASSEMBLY) $(ASSEMBLY).config
gapi_DATA = $(API)
CLEANFILES = $(ASSEMBLY) generated-stamp generated/*.cs $(API) evolution-sharp.pub
DISTCLEANFILES = $(ASSEMBLY).config AssemblyInfo.cs $(TESTCAL_TARGET) $(TESTTASK_TARGET) $(TESTBOOK_TARGET) $(TESTCAL_TARGET).mdb $(TESTTASK_TARGET).mdb $(TESTBOOK_TARGET).mdb $(ASSEMBLY).mdb
sources = \
src/CalComponent.cs \
src/CalRecurrence.cs \
src/CalUtil.cs \
src/GLibUtil.cs \
src/ContactPhoto.cs
build_sources = $(addprefix $(srcdir)/, $(sources)) AssemblyInfo.cs
customs = \
Book.custom \
Contact.custom \
Cal.custom \
CalView.custom \
Source.custom \
VCard.custom \
VCardAttribute.custom
build_customs = $(addprefix $(srcdir)/, $(customs))
EXTRA_DIST = \
$(ASSEMBLY).config.in \
AssemblyInfo.cs.in \
$(RAW_APIS) \
$(METADATA) \
$(customs) \
$(sources) \
$(TESTBOOK_CSFILES) \
$(TESTCAL_CSFILES) \
$(TESTTASK_CSFILES)
$(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA)
cp $(srcdir)/$(RAW_API) $(API)
chmod u+w $(API)
$(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA)
generated-stamp: $(API) $(build_customs)
rm -f generated/* && \
$(GAPI_CODEGEN) --generate $(API) --outdir=generated --customdir=$(srcdir) --assembly-name=$(ASSEMBLY_NAME) \
&& touch generated-stamp
$(ASSEMBLY): $(build_sources) generated-stamp evolution-sharp.pub
$(CSC) -debug --unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) generated/*.cs
all: $(ASSEMBLY) $(TEST_TARGETS)
install-data-local:
@if test -n '$(TARGET)'; then \
echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(prefix)/lib"; \
$(GACUTIL) /i $(ASSEMBLY) /f /package $(PACKAGE) /root $(DESTDIR)$(prefix)/lib || exit 1; \
fi
uninstall-local:
@if test -n '$(TARGET)'; then \
echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(prefix)/lib"; \
$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(PACKAGE) /root $(DESTDIR)$(prefix)/lib || exit 1; \
fi
evolution-sharp.pub: $(top_srcdir)/evolution-sharp.pub
cp $(top_srcdir)/evolution-sharp.pub .
TEST_TARGETS = $(TESTCAL_TARGET) $(TESTTASK_TARGET) $(TESTBOOK_TARGET)
TESTCAL_TARGET = TestCal.exe
TESTCAL_CSFILES = $(srcdir)/TestCal.cs
$(TESTCAL_TARGET): $(TESTCAL_CSFILES) $(ASSEMBLY)
$(CSC) -debug -out:$@ $(CSFLAGS) $(TESTCAL_CSFILES) -r:$(ASSEMBLY) $(references)
TESTTASK_TARGET = TestTask.exe
TESTTASK_CSFILES = $(srcdir)/TestTask.cs
$(TESTTASK_TARGET): $(TESTTASK_CSFILES) $(ASSEMBLY)
$(CSC) -debug -out:$@ $(CSFLAGS) $(TESTTASK_CSFILES) -r:$(ASSEMBLY) $(references)
TESTBOOK_TARGET = TestBook.exe
TESTBOOK_CSFILES = $(srcdir)/TestBook.cs
$(TESTBOOK_TARGET): $(TESTBOOK_CSFILES) $(ASSEMBLY)
$(CSC) -debug -out:$@ $(CSFLAGS) $(TESTBOOK_CSFILES) -r:$(ASSEMBLY) $(references)
syntax highlighted by Code2HTML, v. 0.9.1