Merge pull request #5313 from lambdageek/corefx-sre-fixup
[mono.git] / mcs / class / Mono.Options / Makefile
1 thisdir = class/Mono.Options
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 LIBRARY = Mono.Options.dll
6 LIBRARY_PACKAGE = none
7
8 NO_INSTALL = yes
9
10 LIB_REFS = System
11 KEYFILE = ../mono.pub
12 LIB_MCS_FLAGS =
13 TEST_MCS_FLAGS =
14 TEST_LIB_REFS = Mono.Posix System System.Core
15
16 mono_sourcelibs_DIR  = $(DESTDIR)$(mono_libdir)/mono-source-libs
17 mono_options_DATA = Mono.Options/Options.cs
18
19 include ../../build/library.make
20
21 test-local: Mono.Options-PCL.dll
22
23 clean-local: clean-pcl
24
25 Mono.Options-PCL.dll: Mono.Options.dll.sources $(shell cat Mono.Options.dll.sources)
26         $(CSCOMPILE) -target:library -out:$@ -debug+ -d:PCL -r:../lib/$(PROFILE)/System.dll @$<
27
28 clean-pcl:
29         -rm Mono.Options-PCL.dll
30
31 install-local: install-source
32
33 uninstall-local: uninstall-source
34
35 install-source:
36         -$(MKINSTALLDIRS) $(mono_sourcelibs_DIR)
37         $(INSTALL) -m 644 $(mono_options_DATA) $(mono_sourcelibs_DIR)
38
39 uninstall-source:
40         -rm -f $(mono_options_DIR)/Options.cs
41
42 fixup-docs:
43         for f in `find Documentation/en -name \*.xml` ; do \
44                 sed -i 's/NDesk.Options/Mono.Options/g' $$f ; \
45         done
46
47 DOC_EXAMPLES_OUTPUT = \
48         Documentation/en/examples/bundling.txt \
49         Documentation/en/examples/commands.txt \
50         Documentation/en/examples/context.txt \
51         Documentation/en/examples/greet.txt \
52         Documentation/en/examples/localization.txt \
53         Documentation/en/examples/subclass.txt
54
55 $(the_libdir)/.doc-stamp: $(DOC_EXAMPLES_OUTPUT) 
56
57 Documentation/en/examples/Mono.Options.dll: $(the_lib)
58         cp $^ $@
59
60 %.exe: %.cs Documentation/en/examples/Mono.Options.dll
61         $(CSCOMPILE) -debug:portable -r:$(topdir)/class/lib/$(PROFILE)/Mono.Posix.dll -r:$(topdir)/class/lib/$(PROFILE)/System.Core.dll -r:$(topdir)/class/lib/$(PROFILE)/System.dll \
62         -r:$(topdir)/class/lib/$(PROFILE)/Mono.Options.dll -out:$@ $<
63
64 Documentation/en/examples/locale/es/LC_MESSAGES/localization.mo: Documentation/en/examples/localization-es.po
65         msgfmt $< -o $@
66
67 Documentation/en/examples/localization.exe: Documentation/en/examples/locale/es/LC_MESSAGES/localization.mo
68
69 %.txt: %.in %.exe
70         -rm $@
71         exec 3<$< ; \
72         while read line 0<&3 ; do \
73                 if test -n "$$line" ; then \
74                         echo "$$ $$line" | sed 's#Documentation/en/examples/##' >> $@ ; \
75                         sh -c "$$line" >> $@ 2>&1 ; \
76                 else \
77                         echo "" >> $@ ; \
78                 fi ; \
79         done ; \
80         exec 3>&-;
81
82 EXTRA_DISTFILES = \
83         $(wildcard Documentation/en/examples/*.cs) \
84         $(wildcard Documentation/en/examples/*.in) \
85         $(wildcard Documentation/en/examples/*.po) \
86         $(wildcard Documentation/en/examples/*.txt) \
87         Documentation/en/examples/locale/es/LC_MESSAGES/localization.mo
88
89 CLEAN_FILES = \
90         Documentation/en/examples/Mono.Options.dll* \
91         Documentation/en/examples/*.exe*