mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-23 11:35:28 +00:00
a6c9634748
Create 2 makefile variable to facilitate build on Windows: GENERATED_SOURCES_FILES to match files created by the code generator, and GENERATED_SOURCES_OPTION for the corresponding option to be passed to the compiler. Also adapt the makefile for the valtest sample to use these variables.
83 lines
3.4 KiB
Makefile
83 lines
3.4 KiB
Makefile
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 -rf 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))
|
|
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_OPTION) $(build_sources) $(top_builddir)$(ASSEMBLYINFO)
|
|
|
|
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
|
|
|