1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
API = $(pkg)-api.xml
RAW_API = $(pkg)-api.raw
ASSEMBLY_NAME = $(pkg)-sharp
ASSEMBLY = $(ASSEMBLY_NAME).dll
TARGET = $(pkg:=-sharp.dll) $(pkg:=-sharp.dll.config) $(POLICY_ASSEMBLIES)
noinst_DATA = $(TARGET)
TARGET_API = $(pkg:=-api.xml)
gapidir = $(datadir)/gapi-2.0
gapi_DATA = $(TARGET_API)
CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb $(POLICY_ASSEMBLIES) generated-stamp generated/*.cs $(API) glue/generated.c AssemblyInfo.cs $(POLICY_CONFIGS)
DISTCLEANFILES += $(ASSEMBLY).config $(RAW_API)
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) $(customs) $(sources) $(add_dist)
build_symbols = $(addprefix --symbols=$(srcdir)/, $(SYMBOLS))
$(RAW_API): $(GAPI_PARSER) $(pkg)-sources.xml
$(GAPI_PARSER) $(pkg)-sources.xml
$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(GAPI_FIXUP)
cp $(srcdir)/$(RAW_API) $(API)
chmod u+w $(API)
@if test -n '$(METADATA)'; then \
echo "$(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)"; \
$(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
fi
build_customs = $(addprefix $(srcdir)/, $(customs))
api_includes = $(addprefix -I:, $(INCLUDE_API))
generated-stamp: $(API) $(GAPI_CODEGEN) $(build_customs)
rm -f generated/* && \
$(GAPI_CODEGEN) --generate $(API) \
$(api_includes) $(INCLUDE_EXTRA) \
--outdir=generated --customdir=$(srcdir) --assembly-name=$(ASSEMBLY_NAME) \
&& touch generated-stamp
AssemblyInfo.cs: $(top_builddir)/bindings/dotnet/AssemblyInfo.cs
cp $(top_builddir)/bindings/dotnet/AssemblyInfo.cs .
build_sources = $(addprefix $(srcdir)/, $(sources)) AssemblyInfo.cs
build_references = $(addprefix /r:, $(references)) $(GTK_SHARP_LIBS)
$(ASSEMBLY): generated-stamp $(build_sources) $(references)
@rm -f $(ASSEMBLY).mdb
if ! test -f ./$(SNK); then cp $(top_srcdir)/bindings/dotnet/$(SNK) .; fi
$(CSC) $(CSFLAGS) -nowarn:0169,0612,0618 -unsafe -out:$(ASSEMBLY) -target:library $(build_references) generated/*.cs $(build_sources)
rm -rf ./$(SNK)
install-data-local:
@if test -n '$(pkg)'; then \
echo "$(GACUTIL) /i $(ASSEMBLY) /f /package $(ASSEMBLY_NAME)-1.0 /root $(DESTDIR)$(libdir)"; \
$(GACUTIL) /i $(ASSEMBLY) /f /package $(ASSEMBLY_NAME)-1.0 /root $(DESTDIR)$(libdir) || exit 1; \
fi
uninstall-local:
@if test -n '$(pkg)'; then \
echo "$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(ASSEMBLY_NAME)-1.0 /root $(DESTDIR)$(libdir)"; \
$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(ASSEMBLY_NAME)-1.0 /root $(DESTDIR)$(libdir) || exit 1; \
fi
|