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