SUBDIRS = . examples pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = appindicator-sharp-0.1.pc TEST = AppIndicator.Test.dll API = libappindicator-api.xml MIDDLE_API = libappindicator-api.middle RAW_API = libappindicator-api.raw METADATA = libappindicator-api.metadata ASSEMBLY_NAME = appindicator-sharp ASSEMBLY = appindicator-sharp.dll DLLPOLICY = policy.2.0.$(ASSEMBLY) TARGET = $(ASSEMBLY) $(ASSEMBLY).config $(DLLPOLICY) assemblydir = $(libdir)/cli/appindicator-sharp-0.1 assembly_DATA = $(TARGET) CLEANFILES = \ $(ASSEMBLY) \ $(ASSEMBLY).mdb \ generated-stamp \ generated/*.cs \ $(API) \ $(MIDDLE_API) \ $(RAW_API) \ $(TEST) \ $(DLLPOLICY) \ policy.2.0.$(ASSEMBLY_NAME).config DISTCLEANFILES = $(ASSEMBLY).config TEST_SOURCES = TestIndicator.cs customs = ApplicationIndicator.custom EXTRA_DIST = \ AssemblyInfo.cs \ $(RAW_API) \ $(METADATA) \ appindicator-sharp-0.1.pc.in \ appindicator-sharp.dll.config.in \ app-indicator.sources.xml \ $(ASSEMBLY_NAME).snk \ policy.2.0.$(ASSEMBLY_NAME).config.in \ $(customs) \ $(TEST_SOURCES) GACUTIL_FLAGS=-package $(ASSEMBLY_NAME) -root $(DESTDIR)$(prefix)/lib references = $(GTK_SHARP_LIBS) test_references = $(GTK_SHARP_LIBS) $(NUNIT_LIBS) -r:$(ASSEMBLY) $(RAW_API): app-indicator.sources.xml $(GAPI_PARSER) app-indicator.sources.xml $(MIDDLE_API): $(METADATA) $(RAW_API) cp $(srcdir)/$(RAW_API) $(MIDDLE_API) chmod u+w $(MIDDLE_API) @if test -n '$(METADATA)'; then \ echo "$(GAPI_FIXUP) --api=$(MIDDLE_API) --metadata=$(srcdir)/$(METADATA)"; \ $(GAPI_FIXUP) --api=$(MIDDLE_API) --metadata=$(srcdir)/$(METADATA); \ fi $(API): $(MIDDLE_API) Makefile.am sed -e "s|PROP_ID_S|id|" \ -e "s|PROP_STATUS_S|status|" \ -e "s|PROP_CATEGORY_S|category|" \ -e "s|PROP_ICON_NAME_S|icon-name|" \ -e "s|PROP_ATTENTION_ICON_NAME_S|attention-icon-name|" \ -e "s|PROP_ICON_THEME_PATH_S|icon-theme-path|" \ -e "s|PROP_MENU_S|menu|" \ -e "s|PROP_CONNECTED_S|connected|" \ $< > $@ api_includes = $(GTK_SHARP_CFLAGS) build_customs = $(addprefix $(srcdir)/, $(customs)) generated-stamp: $(API) $(build_customs) rm -f generated/* && \ $(GAPI_CODEGEN) --generate $(API) $(api_includes) \ --customdir=$(srcdir) \ --outdir=generated --assembly-name=$(ASSEMBLY_NAME) \ && touch generated-stamp $(ASSEMBLY): generated-stamp $(srcdir)/AssemblyInfo.cs @rm -f $(ASSEMBLY).mdb $(CSC) $(CSFLAGS) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk -nowarn:0169,0612,0618 -unsafe -out:$(ASSEMBLY) -target:library $(references) $(builddir)/$(GENERATED_SOURCES) $(srcdir)/AssemblyInfo.cs install-data-local: echo "$(GACUTIL) -i $(ASSEMBLY_NAME).dll $(GACUTIL_FLAGS)"; \ $(GACUTIL) -i $(ASSEMBLY_NAME).dll $(GACUTIL_FLAGS) || exit 1; echo "$(GACUTIL) -i $(DLLPOLICY) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -i $(DLLPOLICY) $(GACUTIL_FLAGS) || exit 1; uninstall-local: echo "$(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; echo "$(GACUTIL) -u $(DLLPOLICY) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -u $(DLLPOLICY),version=0.0.0.0,Culture=en,PublicKeyToken=bcae265d1c7ab4c2 $(GACUTIL_FLAGS) || exit 1; $(TEST): $(ASSEMBLY) $(TEST_SOURCES) $(CSC) -out:$(TEST) -target:library $(test_references) $(srcdir)/$(TEST_SOURCES) all: $(TEST) policy.2.0.$(ASSEMBLY_NAME).config: policy.2.0.$(ASSEMBLY_NAME).config.in Makefile sed -e "s|@ASSEMBLY_NAME@|$(ASSEMBLY_NAME)|" \ -e "s|@ASSEMBLY_VERSION@|0.1|g" \ $< > $@ $(DLLPOLICY): policy.2.0.$(ASSEMBLY_NAME).config $(ASSEMBLY_NAME).snk Makefile $(AL) -link:policy.2.0.$(ASSEMBLY_NAME).config -out:$(DLLPOLICY) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk