#!/usr/bin/make -f CC =gcc CFLAGS =-O2 -Wall STRIP =strip SO =$(shell IFS=:; read v r a conf-cc test -e conf-bin'{orig}' || cp conf-bin conf-bin'{orig}' echo /usr/bin >conf-bin test -e conf-include'{orig}' || cp conf-include conf-include'{orig}' echo /usr/include >conf-include test -e conf-lib'{orig}' || cp conf-lib conf-lib'{orig}' echo /usr/lib >conf-lib $(MAKE) $(MAKE) sqlite sh ./tests.sh $(MAKE) mysql @test -n "$(PGINCL)" || sh -cx '! : postgresql include path unknown.' echo '$(CC) $(CFLAGS) -I$(PGINCL)' >conf-cc $(MAKE) pgsql touch build-stamp clean: deb-checkdir deb-checkuid $(MAKE) clean rm -rf .libs for i in conf-cc conf-bin conf-include conf-lib; do \ test ! -r $$i'{orig}' || mv -f $$i'{orig}' $$i || exit 1; \ done test ! -e patch-stamp || \ for i in `ls -1r debian/diff/*.diff || :`; do patch -p1 -R <$$i; done rm -f patch-stamp build-stamp rm -rf '$(LDIR)' '$(LDIR)'-dev '$(DIR)' '$(DIR)'-mysql '$(DIR)'-pgsql rm -f debian/libcvm'$(SO)'.shlibs debian/shlibs.local debian/files \ debian/substvars changelog install: deb-checkdir deb-checkuid build-stamp # libcvm-dev rm -rf '$(LDIR)' '$(LDIR)'-dev '$(DIR)' '$(DIR)'-mysql '$(DIR)'-pgsql $(MAKE) install install_prefix='$(LDIR)'-dev/ rm -f '$(LDIR)'-dev/usr/lib/*.la $(STRIP) --strip-debug '$(LDIR)'-dev/usr/lib/*.a # libcvm install -d -m0755 '$(LDIR)'/usr/lib for i in '$(LDIR)'-dev/usr/lib/*.so.*; do \ mv $$i '$(LDIR)'/usr/lib/ || exit 1; \ done chmod 0644 '$(LDIR)'/usr/lib/* $(STRIP) -R .note -R .comment --strip-unneeded \ '$(LDIR)'/usr/lib/*.so.?.?.? rm -f debian/libcvm'$(SO)'.shlibs debian/shlibs.local for i in `cd '$(LDIR)'/usr/lib && ls -1 *.so.?`; do \ echo "$${i%%.so.?} 1 libcvm$(SO)" >>debian/libcvm'$(SO)'.shlibs; \ done ln -s libcvm'$(SO)'.shlibs debian/shlibs.local # cvm install -d -m0755 '$(DIR)'/usr mv '$(LDIR)'-dev/usr/bin '$(DIR)'/usr/ # don't install cvm-sqlite for now rm -f '$(DIR)'/usr/bin/cvm-sqlite $(STRIP) -R .comment -R .note '$(DIR)'/usr/bin/* install -d -m0755 '$(DIR)'/usr/share/man/man8 for i in cvm-benchclient.8 cvm-checkpassword.8 cvm-pwfile.8 \ cvm-qmail.8 cvm-testclient.8 cvm-unix.8 cvm-vmailmgr.8; do \ install -m0644 debian/$$i '$(DIR)'/usr/share/man/man8/ || exit 1; \ done gzip -9n '$(DIR)'/usr/share/man/man8/*.8 install -d -m0755 '$(DIR)'/usr/share/man/man7 install -m0644 debian/cvm-sql.7 '$(DIR)'/usr/share/man/man7/ gzip -9n '$(DIR)'/usr/share/man/man7/*.7 # cvm-mysql install -d -m0755 '$(DIR)'-mysql/usr/bin mv '$(DIR)'/usr/bin/cvm-mysql* '$(DIR)'-mysql/usr/bin/ install -d -m0755 '$(DIR)'-mysql/usr/share/man/man8 install -m0644 debian/cvm-mysql.8 '$(DIR)'-mysql/usr/share/man/man8/ gzip -9n '$(DIR)'-mysql/usr/share/man/man8/*.8 # cvm-pgsql install -d -m0755 '$(DIR)'-pgsql/usr/bin mv '$(DIR)'/usr/bin/cvm-pgsql* '$(DIR)'-pgsql/usr/bin/ install -d -m0755 '$(DIR)'-pgsql/usr/share/man/man8 install -m0644 debian/cvm-pgsql.8 '$(DIR)'-pgsql/usr/share/man/man8/ gzip -9n '$(DIR)'-pgsql/usr/share/man/man8/*.8 # changelog rm -f changelog && ln -s ChangeLog changelog # fix directory permissions find '$(DIR)' '$(LDIR)'-dev -type d -print0 | xargs -0r chmod 0755 binary: binary-indep binary-arch binary-indep: binary-arch: deb-checkdir deb-checkuid install cvm.deb cvm-mysql.deb \ cvm-pgsql.deb libcvm'$(SO)'.deb libcvm'$(SO)'-dev.deb # cvm rm -f debian/substvars dpkg-shlibdeps '$(DIR)'/usr/bin/* dpkg-gencontrol -isp -pcvm -P'$(DIR)' dpkg -b '$(DIR)' .. # cvm-mysql rm -f debian/substvars dpkg-shlibdeps '$(DIR)'-mysql/usr/bin/* dpkg-gencontrol -isp -pcvm-mysql -P'$(DIR)'-mysql dpkg -b '$(DIR)'-mysql .. # cvm-pgsql rm -f debian/substvars dpkg-shlibdeps '$(DIR)'-pgsql/usr/bin/* dpkg-gencontrol -isp -pcvm-pgsql -P'$(DIR)'-pgsql dpkg -b '$(DIR)'-pgsql .. # libcvm-dev rm -f debian/substvars dpkg-gencontrol -isp -plibcvm'$(SO)'-dev -P'$(LDIR)'-dev dpkg -b '$(LDIR)'-dev .. # libcvm rm -f debian/substvars dpkg-shlibdeps '$(LDIR)'/usr/lib/*.so.?.?.? dpkg-gencontrol -isp -plibcvm'$(SO)' -P'$(LDIR)' echo 'activate-noawait ldconfig' > debian/libcvm1/DEBIAN/triggers dpkg -b '$(LDIR)' .. .PHONY: patch build clean binary-indep binary-arch binary install include debian/implicit