Updated doc/mp_index.txt.
[mp-5.x.git] / makefile.in
blobbc6fb0bb1f8a73b88fe4ddf4fda2a4e83a398277
1 # -*- Mode: sh
3 all: $(APPNAME) docs build-mo
5 PROJ=mp
7 ADD_DOCS=AUTHORS README COPYING RELEASE_NOTES \
8 mp_templates.sample doc/mp_function_reference.html
9 GRUTATXT_DOCS=doc/mp_index.html doc/mp_cookbook.html doc/mp_internals.html \
10 doc/mp_configuration.html doc/mp_data_model.html \
11 doc/mp_man.html doc/mp_interactive_dialog_boxes.html \
12 doc/mp_actions.html doc/mp_keycodes.html \
13 doc/mp_encoding.html $(APPNAME).1
14 MP_DOCCER_DOCS=doc/mp_api.txt
15 G_AND_MP_DOCS=doc/mp_api.html
17 OBJS=mp_core.o $(DRV_OBJS)
19 DIST_TARGET=/tmp/$(PROJ)-$(VERSION)
21 ##################################################################
23 version:
24 @echo $(VERSION)
26 .c.o:
27 $(CC) $(CFLAGS) -I. `cat config.cflags` -c $<
29 $(MPDM)/libmpdm.a:
30 ( cd $(MPDM); $(MAKE) )
32 $(MPSL)/libmpsl.a:
33 ( cd $(MPSL); $(MAKE) )
35 dep:
36 gcc -MM *.c `cat config.cflags` > makefile.depend
38 $(APPNAME): $(OBJS) $(MPDM)/libmpdm.a $(MPSL)/libmpsl.a
39 $(CCLINK) $(CFLAGS) $(OBJS) `cat config.ldflags` -o $@
41 mpv_kde4.o: mpv_kde4.cpp mpv_kde4.moc
42 $(CPP) $(CFLAGS) -I. `cat config.cflags` -c $<
44 mpv_kde4.moc: mpv_kde4.cpp
45 $(MOC) -o mpv_kde4.moc mpv_kde4.cpp
47 mp_res.o: mp_res.rc
48 $(WINDRES) mp_res.rc mp_res.o
50 mp-5.exe: $(OBJS) mp_res.o $(MPDM)/libmpdm.a $(MPSL)/libmpsl.a
51 $(CC) $(CFLAGS) $(OBJS) mp_res.o `cat config.ldflags` -o $@
53 clean:
54 rm -f $(APPNAME) $(LIB) $(OBJS) *.o *.moc tags *.tar.gz *.exe *.zip .installer.c *.1
55 (cd $(MPDM) ; make clean)
56 (cd $(MPSL) ; make clean)
58 distclean: clean
59 rm -f config.h config.cflags config.ldflags \
60 makefile.opts Makefile po/minimum-profit.pot
62 docsclean:
63 rm -f $(MP_DOCCER_DOCS) doc/*.html
65 realclean: distclean
66 (cd $(MPDM) ; make realclean)
67 (cd $(MPSL) ; make realclean)
69 realdistclean: realclean
71 .SUFFIXES: .html .txt .rhtml
73 .txt.html:
74 grutatxt < $< > $@
76 .rhtml.html:
77 cp $< $@
79 doc/mp_man.html: doc/mp_man.txt
80 grutatxt -dl -t "Minimum Profit Man Page" < $< > $@
82 doc/mp_api.txt: *.mpsl
83 mp_doccer *.mpsl -o doc/mp_api -f grutatxt \
84 -t "Minimum Profit API" \
85 -b "This reference documents version $(VERSION) of the MPSL API." \
86 -a 'Angel Ortega - angel@triptico.com'
88 $(APPNAME).1: doc/mp_man.txt
89 grutatxt -m man -t "Minimum Profit" < doc/mp_man.txt > $(APPNAME).1
91 docs: $(DOCS)
92 (cd $(MPDM); $(MAKE) docs)
93 (cd $(MPSL); $(MAKE) docs)
95 distcopy: distclean docs
96 mkdir -p $(DIST_TARGET) ; \
97 tar cf - * | (cd $(DIST_TARGET) ; tar xf -) ; \
98 (cd $(MPDM) ; $(MAKE) distcopy DIST_TARGET=$(DIST_TARGET)/mpdm ) ; \
99 (cd $(MPSL) ; $(MAKE) distcopy DIST_TARGET=$(DIST_TARGET)/mpsl )
101 dist: distcopy po/minimum-profit.pot build-mo
102 (cd /tmp ; tar czf - $(PROJ)-$(VERSION)/* ) > $(PROJ)-$(VERSION).tar.gz ; \
103 rm -rf $(DIST_TARGET)
105 midnight:
106 $(MAKE) distcopy DIST_TARGET=/tmp/mp-midnight
107 (cd /tmp ; tar czf - mp-midnight/* ) > mp-midnight.tar.gz ; \
108 rm -rf /tmp/mp-midnight
110 win32dist: mp-5.exe
111 mkdir -p win32
112 mkdir -p win32/doc
113 i586-mingw32msvc-strip $(APPNAME)
114 install $(APPNAME) win32
115 install mp_*.mpsl win32
116 (DIR=`pwd` ; cd $(MPDM) ; make installdoc DOCDIR=$$DIR/win32/doc)
117 (DIR=`pwd` ; cd $(MPSL) ; make installdoc DOCDIR=$$DIR/win32/doc)
118 install $(DOCS) win32/doc
119 (cd win32 ; aovwinstall mp-5 "Minimum Profit $(VERSION)" * doc/*)
120 i586-mingw32msvc-strip win32/installer.exe
121 mv win32/installer.exe mp-$(VERSION).exe
122 rm -rf win32
124 innosetup: mp-5.exe
125 wine ~/.wine/fake_windows/Program\ Files/Inno\ Setup\ 5/ISCC.exe /O. /Fmp-$(VERSION) mp.iss
127 install: $(INSTALL_MSG) installdoc install-mo
128 install $(APPNAME) $(PREFIX)/bin/$(APPNAME)
129 ./mkinstalldirs $(PREFIX)/share/$(APPNAME)
130 ./mkinstalldirs $(PREFIX)/share/$(APPNAME)/lang
131 install -m 644 mp_*.mpsl $(PREFIX)/share/$(APPNAME)
132 install -m 644 lang/*.mpsl $(PREFIX)/share/$(APPNAME)/lang
133 ./mkinstalldirs $(PREFIX)/share/man/man1
134 [ -f $(APPNAME).1 ] && install -m 644 $(APPNAME).1 $(PREFIX)/share/man/man1/$(APPNAME).1 || true
135 ( cd $(MPSL) ; [ -x mpsl ] && install mpsl $(PREFIX)/bin || true )
137 installdoc:
138 ./mkinstalldirs $(PREFIX)/share/doc/$(APPNAME)
139 ( cd $(MPDM); $(MAKE) installdoc )
140 ( cd $(MPSL); $(MAKE) installdoc )
141 install -m 644 doc/* $(PREFIX)/share/doc/$(APPNAME)
142 install -m 644 $(ADD_DOCS) $(PREFIX)/share/doc/$(APPNAME)
143 [ -f doc/mp_index.html ] && install -m 644 doc/mp_index.html $(PREFIX)/share/doc/$(APPNAME)/index.html || true
145 uninstall: uninstall-mo
146 rm -f $(PREFIX)/bin/$(APPNAME)
147 rm -rf $(PREFIX)/share/$(APPNAME)
148 rm -rf $(PREFIX)/share/doc/$(APPNAME)
149 rm -f $(PREFIX)/share/man/man1/$(APPNAME).1
150 rm -f $(PREFIX)/bin/mpsl
152 po/minimum-profit.pot:
153 xgettext -o $@ --language=C --keyword=L --keyword=LL mp*.c *.mpsl
155 update-po:
156 for a in po/*.po ; do \
157 sed -i -e '/^#/d' $$a ; \
158 xgettext --omit-header -j -o $$a --language=C \
159 --keyword=L --keyword=LL mp*.c *.mpsl ; \
160 done
162 .po.mo:
163 msgfmt -o $@ $<
165 build-mo:
166 for i in po/*.po ; do \
167 B=`basename $$i .po` ; o=po/$$B.mo ; \
168 if [ $$i -nt $$o ] ; then msgfmt -o $$o $$i ; fi ; \
169 done
171 install-mo: build-mo
172 for a in po/*.mo ; do \
173 B=`basename $$a .mo` ; \
174 ./mkinstalldirs $(PREFIX)/share/locale/$$B/LC_MESSAGES ; \
175 install -m 644 $$a $(PREFIX)/share/locale/$$B/LC_MESSAGES/minimum-profit.mo ; \
176 done
178 uninstall-mo:
179 for a in po/*.mo ; do \
180 B=`basename $$a .mo` ; \
181 rm -f $(PREFIX)/share/locale/$$B/LC_MESSAGES/minimum-profit.mo ; \
182 done
184 deb:
185 dpkg-buildpackage -rfakeroot -b -uc -us