Generate the ChangeLog at bootstrap time, make the ChangeLog Makefile target more...
[synfig.git] / synfig-core / trunk / Makefile.am
1 # $Id$
2
3 MAINTAINERCLEANFILES=@PACKAGE_TARNAME@.pc.in @PACKAGE_TARNAME@.tar.gz doxygen.cfg config/config.guess config/config.sub config/ltmain.sh config/ltmain.sh.orig config/ltmain.sh.rej config/install-sh config/mkinstalldirs config/aclocal.m4 config/missing config/texinfo.tex config/depcomp aclocal.m4 config.h.in configure stamp-h.in Makefile.in config.log config.status .doc_stamp .DS_Store @PACKAGE_TARNAME@.spec include/etl_profile.h.in libltdl/COPYING.LIB  libltdl/Makefile.in  libltdl/acinclude.m4  libltdl/config-h.in  libltdl/configure.in  libltdl/ltdl.h libltdl/Makefile.am  libltdl/README       libltdl/aclocal.m4    libltdl/configure    libltdl/ltdl.c        libltdl/stamp-h.in
4
5
6 SUBDIRS=libltdl src examples
7
8 # Install the pkg-config file:
9 pkgconfigdir = $(libdir)/pkgconfig
10 pkgconfig_DATA = @PACKAGE_TARNAME@.pc
11
12 bin_SCRIPTS=synfig-config
13
14 EXTRA_DIST=TODO config/subs.m4 bootstrap config/package doc/hw-gfx-mapping.txt win32build.sh macosxbuild.sh win32inst.nsi.in COPYING config/depcomp config/synfig.m4 config/cxx_macros.m4 @PACKAGE_TARNAME@.spec config/project.spec.in config/build.cfg synfig.kdevprj synfig-config.in config/ETL.m4 config/doxygen.cfg.in doxygen.cfg config/pkgconfig.pc.in config/pkgconfig.m4 config/libxml++.m4 @PACKAGE_TARNAME@.pc.in pkg-info/macosx/core-resources/ReadMe.txt pkg-info/macosx/core-resources/Welcome.txt pkg-info/macosx/core-resources/install.sh
15
16 CVS=cvs
17 GREP=grep
18 PRINTF=printf
19 SH=sh
20 DOXYGEN=doxygen
21
22 SVN=svn
23 TAG=@PACKAGE_TARNAME@_@VERSION_MAJ@_@VERSION_MIN@_@VERSION_REV@
24
25
26 tagstable:
27         -$(SVN) delete $(SVN_REPOSITORY)/tags/stable -m "Stabe Tag: Removing old tag"
28         $(SVN) mkdir $(SVN_REPOSITORY)/tags/stable -m "Stable Tag: Creating new directory"
29         $(SVN) copy $(top_srcdir) $(SVN_REPOSITORY)/tags/stable -m "Stable Tag: Copying everyhting over"
30
31 tagrelease:
32         $(SVN) mkdir $(SVN_REPOSITORY)/tags/$(TAG) -m "Release Tag: Making directory"
33         $(SVN) copy $(top_srcdir) $(SVN_REPOSITORY)/tags/$(TAG) -m "Release $(TAG)"
34
35 stats:
36         -@echo
37         -@echo  -- Stats
38         -@echo
39         -@$(PRINTF) "Total lines: "
40         -@wc -l $(shell find $(top_srcdir)/src -name '*.[ch]*') | $(GREP) total
41         -@$(PRINTF) "Total size: "
42         -@du -hcs $(shell find $(top_srcdir)/src -name '*.[ch]*') | $(GREP) total
43         -@echo 
44
45 ChangeLog:
46         -svn update
47         svn2cl --include-rev || touch ChangeLog
48
49 #tagstable:
50 #       $(CVS) tag -F stable
51
52 #tagrelease:
53 #       $(CVS) tag -F @PACKAGE_TARNAME@_@VERSION_MAJ@_@VERSION_MIN@_@VERSION_REV@
54
55
56 listfixmes:
57         -@echo
58         -@echo  -- List of pending FIXMEs
59         -@echo
60         -@$(GREP) -e FIXME -e "\\fixme" -n $(shell find $(top_srcdir) -name '*.[ch]*')
61         -@echo
62
63 listhacks:
64         -@echo
65         -@echo  -- List of pending HACKs
66         -@echo
67         -@$(GREP) -e HACK -e "\\hack" -n $(shell find $(top_srcdir) -name '*.[ch]*')
68         -@echo
69
70 listtodos:
71         -@echo
72         -@echo  -- List of pending TODOs
73         -@echo
74         -@$(GREP) -e TODO -e "\\todo" -n $(shell find $(top_srcdir) -name '*.[ch]*')
75         -@echo
76
77 listoptimizes:
78         -@echo
79         -@echo  -- List of pending optimizations
80         -@echo
81         -@$(GREP) -e OPTIMIZE -e "\\optimize" -n $(shell find $(top_srcdir) -name '*.[ch]*')
82         -@echo
83
84 listwritemes:
85         -@echo
86         -@echo  -- List of pending WRITEMEs
87         -@echo
88         -@$(GREP) -e WRITEME -e "\\writeme" -n $(shell find $(top_srcdir) -name '*.[ch]*')
89         -@echo
90
91 install-bin:
92         make -C src/synfig install-libLTLIBRARIES
93
94 win32inst.nsi: $(srcdir)/win32inst.nsi.in
95         ./config.status win32inst.nsi
96
97 pkg-info/macosx/synfig-core.info: $(srcdir)/pkg-info/macosx/synfig-core.info.in
98         ./config.status pkg-info/macosx/synfig-core.info
99
100 RMDIR=rm -fr
101
102 if WIN32_PKG    
103 package: all win32inst.nsi
104         cp -fu `which libHalf-4.dll` src/modules/mod_openexr/.libs/
105         cp -fu `which libIlmImf-4.dll` src/modules/mod_openexr/.libs/
106         cp -fu `which libIlmThread-4.dll` src/modules/mod_openexr/.libs/
107         cp -fu `which libIex-4.dll` src/modules/mod_openexr/.libs/
108         makensis win32inst.nsi
109 else
110 if MACOSX_PKG
111 package: all pkg-info/macosx/synfig-core.info
112         [ -d pkg_root ] && $(RMDIR) pkg_root || true
113         make install-strip prefix="`pwd`/pkg_root"
114         $(srcdir)/config/package pkg_root pkg-info/macosx/synfig-core.info -r $(srcdir)/pkg-info/macosx/core-resources
115 endif
116 endif
117
118 run: check
119
120 $(srcdir)/configure:  $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
121         $(srcdir)/bootstrap
122
123 .doc_stamp: doxygen.cfg
124         $(DOXYGEN) doxygen.cfg
125         touch .doc_stamp
126
127 benchmark:
128         synfig -b -t null -q --time 0 $(srcdir)/examples/*.sif
129
130 html: .doc_stamp
131
132 rtf: .doc_stamp
133
134 docs: html
135
136 .PHONY: stats tagstable tagrelease listfixmes listhacks check docs pdf html rtf