mirror of
				https://github.com/Ryujinx/GtkSharp.git
				synced 2025-11-04 13:24:48 +00:00 
			
		
		
		
	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
 | 
						|
 |