File: Makefile.include

package info (click to toggle)
libtinymail 0.0.9-4
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 18,148 kB
  • ctags: 19,175
  • sloc: ansic: 151,565; xml: 20,145; sh: 9,245; makefile: 2,394; cs: 243; cpp: 141; python: 93; perl: 71
file content (67 lines) | stat: -rw-r--r-- 2,692 bytes parent folder | download | duplicates (2)
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