PPI: Rename all 'Reader's to 'Source's and 'Writer's to 'Sink's
[senf.git] / debian / rules
1 #!/usr/bin/make -f
2 # -*- makefile -*-
3 # Sample debian/rules that uses debhelper.
4 # This file was originally written by Joey Hess and Craig Small.
5 # As a special exception, when this file is copied by dh-make into a
6 # dh-make output file, you may use that output file without restriction.
7 # This special exception was added by Craig Small in version 0.37 of dh-make.
8
9 # Uncomment this to turn on verbose mode.
10 #export DH_VERBOSE=1
11
12 debian_build=1
13 export debian_build
14
15 CFLAGS = -Wall -g
16
17 CONCURRENCY_LEVEL ?= 1
18
19 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
20         CFLAGS += -O0
21 else
22         CFLAGS += -O2
23 endif
24
25 # shared library versions, option 1
26 #version=2.0.5
27 #major=2
28 # option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
29 #version=`ls src/.libs/lib*.so.* | \
30 # awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
31 #major=`ls src/.libs/lib*.so.* | \
32 # awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
33
34 destdir=$(CURDIR)/debian/tmp
35
36 configure: configure-stamp
37 configure-stamp:
38         dh_testdir
39 #       # Add here commands to configure the package.
40         rm -f Doxyfile.local SConfig local_config.hh
41         scons prepare
42 #       If needed, we could create new files 'Doxyfile.local',
43 #       'SConfig' and/or 'local_config.hh' here.  We don't remove them
44 #       in 'clean' to allow building a source package from an
45 #       individually configured svn working copy. (The files are ignored
46 #       by dpkg-buildpackge because of appropriate -I arguments provided 
47 #       by 'scons deb' and 'scons debsrc'
48         touch configure-stamp
49
50 build: build-stamp
51 build-stamp: configure-stamp 
52         dh_testdir
53 #       # Add here commands to compile the package.
54         scons -j $(CONCURRENCY_LEVEL) default all_docs final=1
55         touch $@
56
57 clean:
58         dh_testdir
59         dh_testroot
60         rm -f build-stamp configure-stamp
61 #       # Add here commands to clean up after the build process.
62         -scons -c all
63         dh_clean
64
65 install: build
66         dh_testdir
67         dh_testroot
68         dh_clean -k 
69         dh_installdirs
70 #       # Add here commands to install the package into debian/tmp
71         scons install_all final=1 \
72                 PREFIX='$(destdir)/usr' \
73                 DOCINSTALLDIR='$$PREFIX/share/doc/libsenf-doc' \
74                 INCLUDEINSTALLDIR='$$PREFIX/include/senf' 
75 #       We need to install the example sourcecode
76         find Examples \( -name "*.hh" -o -name "*.cc" \) -printf "%P\n" | \
77                 while read src; do \
78                         dir="$(destdir)/usr/share/doc/libsenf-doc/examples/$$(dirname "$$src")"; \
79                         mkdir -p "$$dir"; \
80                         cp "Examples/$$src" "$$dir"; \
81                 done
82
83 # Build architecture-independent files here.
84 binary-indep: build install
85 # We have nothing to do by default.
86
87 # Build architecture-dependent files here.
88 binary-arch: build install
89         dh_testdir
90         dh_testroot
91         dh_installchangelogs 
92         dh_installdocs
93         dh_installexamples
94         dh_install
95 #       dh_installmenu
96 #       dh_installdebconf       
97 #       dh_installlogrotate
98 #       dh_installemacsen
99 #       dh_installpam
100 #       dh_installmime
101 #       dh_installinit
102 #       dh_installcron
103 #       dh_installinfo
104         dh_installman
105         dh_link
106         dh_strip
107         dh_compress
108         dh_fixperms
109 #       dh_perl
110 #       dh_python
111 #       dh_makeshlibs
112         dh_installdeb
113         dh_shlibdeps
114         dh_gencontrol
115         dh_md5sums
116         dh_builddeb
117
118 binary: binary-indep binary-arch
119 .PHONY: build clean binary-indep binary-arch binary install configure