SNK = $(top_srcdir)/gtk-sharp.snk API = $(pkg)-api.xml RAW_API = $(pkg)-api.raw ASSEMBLY_NAME = $(pkg)-sharp ASSEMBLY_NAME_VERSION = $(ASSEMBLY_NAME),Version=$(API_VERSION) ASSEMBLY = $(ASSEMBLY_NAME).dll GAPI_XSD=$(top_srcdir)/gapi.xsd TARGET = $(pkg:=-sharp.dll) $(pkg:=-sharp.dll.config) $(POLICY_ASSEMBLIES) noinst_DATA = $(TARGET) TARGET_API = $(pkg:=-api.xml) gapidir = $(datadir)/gapi-3.0 gapi_DATA = $(TARGET_API) $(GAPI_XSD) CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb $(POLICY_ASSEMBLIES) generated-stamp generated/*.cs $(API) glue/generated.c $(POLICY_CONFIGS) DISTCLEANFILES = $(ASSEMBLY).config POLICY_ASSEMBLIES = $(addsuffix .$(ASSEMBLY), $(addprefix policy., $(POLICY_VERSIONS))) POLICY_CONFIGS = $(addsuffix .config, $(addprefix policy., $(POLICY_VERSIONS))) EXTRA_DIST = $(RAW_API) $(SYMBOLS) $(ASSEMBLY).config.in $(METADATA) $(sources) $(add_dist) build_symbols = $(addprefix --symbols=$(srcdir)/, $(SYMBOLS)) $(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe cp $(srcdir)/$(RAW_API) $(API) chmod u+w $(API) @if test -n '$(METADATA)'; then \ echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)"; \ $(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \ fi api_includes = $(addprefix -I:, $(INCLUDE_API)) generated-stamp: $(API) $(INCLUDE_API) $(top_builddir)/generator/gapi_codegen.exe $(GAPI_XSD) rm -f generated/* && \ $(RUNTIME) $(top_builddir)/generator/gapi_codegen.exe --generate $(API) \ $(api_includes) \ --outdir=generated --assembly-name=$(ASSEMBLY_NAME) \ --gluelib-name=$(pkg)sharpglue-3 --glue-filename=glue/generated.c \ --glue-includes=$(glue_includes) \ --schema=$(GAPI_XSD) \ && touch generated-stamp policy.%.config: $(top_builddir)/policy.config sed -e "s/@ASSEMBLY_NAME@/$(ASSEMBLY_NAME)/" -e "s/@POLICY@/$*/" $(top_builddir)/policy.config > $@ $(POLICY_ASSEMBLIES) : policy.%.$(ASSEMBLY): policy.%.config $(SNK) $(AL) -link:policy.$*.config -out:$@ -keyfile:$(SNK) build_sources = $(addprefix $(srcdir)/, $(sources)) $(top_builddir)/AssemblyInfo.cs build_references = $(addprefix -r:, $(references)) $(MONO_CAIRO_LIBS) $(ASSEMBLY): generated-stamp $(SNK) $(build_sources) $(references) @rm -f $(ASSEMBLY).mdb $(CSC) $(CSFLAGS) -keyfile:$(SNK) -nowarn:0169,0612,0618 -unsafe -out:$(ASSEMBLY) -target:library $(build_references) $(GENERATED_SOURCES) $(build_sources) install-data-local: @if test -n '$(pkg)'; then \ echo "$(GACUTIL) -i $(ASSEMBLY) -f $(GACUTIL_FLAGS)"; \ $(GACUTIL) -i $(ASSEMBLY) -f $(GACUTIL_FLAGS) || exit 1; \ if test -n '$(POLICY_VERSIONS)'; then \ for i in $(POLICY_VERSIONS); do \ echo "$(GACUTIL) -i policy.$$i.$(ASSEMBLY) -f $(GACUTIL_FLAGS)"; \ $(GACUTIL) -i policy.$$i.$(ASSEMBLY) -f $(GACUTIL_FLAGS) || exit 1; \ done \ fi \ fi uninstall-local: @if test -n '$(pkg)'; then \ echo "$(GACUTIL) -u $(ASSEMBLY_NAME_VERSION) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -u $(ASSEMBLY_NAME_VERSION) $(GACUTIL_FLAGS) || exit 1; \ if test -n '$(POLICY_VERSIONS)'; then \ for i in $(POLICY_VERSIONS); do \ echo "$(GACUTIL) -u policy.$$i.$(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -u policy.$$i.$(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; \ done \ fi \ fi