#!/usr/bin/make -f # Made with the aid of debmake, by Christoph Lameter, # based on the sample debian/rules file for GNU hello by Ian Jackson. package=mysql CHARSET=ujis SYSNAME= TEMPINST=build # CFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static CC=gcc CFLAGS=-O6 -fomit-frame-pointer CXX=gcc CXXFLAGS=-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti # CXXFLAGS=-O6 -fomit-frame-pointer -felide-constructors -fno-rtti COMMONCONF= --prefix=/usr --libexecdir=/usr/sbin \ --localstatedir=/var/mysql/data \ --enable-shared \ --without-perl --without-readline \ --without-docs --without-bench \ --with-mysqld-user=mysql \ --with-extra-charsets=all SERVERCONF=$(COMMONCONF) --enable-assembler \ --with-raid MYSQLMAXCONF= --with-server-suffix=-Max \ --with-innodb \ --with-berkeley-db # --with-gemini \ # --with-berkeley-db-includes=/usr/include/db3 \ # --with-berkeley-db-libs=/usr/lib STATICCONF=--with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static CLIENTCONF=$(COMMONCONF) --without-server ################################################## patches debian/stamp-patches: -test -e debian/stamp-patches || \ for i in `find debian/patches -type f -print` ; do \ echo "==== $$i ====" ; \ patch -p1 < $$i ; \ done touch debian/stamp-patches ################################################## premkdir debian/stamp-premkdir: $(checkdir) -rm -rf debian/tmp debian/$(TEMPINST)* dh_installdirs for i in '' -shared -debug -max -max-shared -max-debug ; do \ install -d debian/$(TEMPINST)$${i}/usr/{bin,sbin,share,man,include,info} ; \ done # -install -d debian/$(TEMPINST)$${i}/usr/{bin,sbin,share,man,include,info} # -install -d debian/$(TEMPINST)-shared/usr/{bin,sbin,share,man,include,info} # -install -d debian/$(TEMPINST)-debug/usr/{bin,sbin,share,man,include,info} touch debian/stamp-premkdir ################################################## config debian/stamp-config: debian/stamp-premkdir debian/stamp-patches CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \ LDFLAGS="-static" \ ./configure $(SERVERCONF) $(STATICCONF) \ --with-charset=$(CHARSET) \ --with-bench \ $(SYSNAME) # sed 's/-fno-implicit-templates//g' sql/Makefile > .m # mv .m sql/Makefile touch debian/stamp-config ################################################## build: debian/stamp-config make LDFLAGS="-static" make install DESTDIR=`pwd`/debian/$(TEMPINST) cp include/m_ctype.h `pwd`/debian/$(TEMPINST)/usr/include/mysql/ touch build ################################################## build-shared debian/stamp-build-shared: debian/stamp-patches -make distclean CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \ ./configure $(SERVERCONF) \ --with-charset=$(CHARSET) \ $(SYSNAME) # ./configure $(CLIENTCONF) make make install DESTDIR=`pwd`/debian/$(TEMPINST)-shared touch debian/stamp-build-shared ################################################## build-debug debian/stamp-build-debug: debian/stamp-patches -make distclean CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \ ./configure $(SERVERCONF) \ --with-charset=$(CHARSET) \ --with-debug \ $(SYSNAME) # ./configure $(CLIENTCONF) make make install DESTDIR=`pwd`/debian/$(TEMPINST)-debug touch debian/stamp-build-debug ################################################## debian/stamp-mysql-max: debian/stamp-mysql-max-static debian/stamp-mysql-max-shared debian/stamp-mysql-max-debug debian/stamp-mysql-max-static: debian/stamp-premkdir debian/stamp-patches -make distclean CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \ ./configure $(SERVERCONF) $(STATICCONF) \ $(MYSQLMAXCONF) \ --with-charset=$(CHARSET) \ $(SYSNAME) make LDFLAGS="-static" make install DESTDIR=`pwd`/debian/$(TEMPINST)-max touch debian/stamp-mysql-max-static debian/stamp-mysql-max-shared: debian/stamp-premkdir debian/stamp-patches -make distclean CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \ ./configure $(SERVERCONF) \ $(MYSQLMAXCONF) \ --with-charset=$(CHARSET) \ $(SYSNAME) make make install DESTDIR=`pwd`/debian/$(TEMPINST)-max-shared touch debian/stamp-mysql-max-shared debian/stamp-mysql-max-debug: debian/stamp-premkdir debian/stamp-patches -make distclean CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \ ./configure $(SERVERCONF) \ $(MYSQLMAXCONF) \ --with-charset=$(CHARSET) \ --with-debug \ $(SYSNAME) make make install DESTDIR=`pwd`/debian/$(TEMPINST)-max-debug touch debian/stamp-mysql-max-debug ################################################## clean: $(checkdir) -make distclean -test -e debian/stamp-patches && \ for i in `find debian/patches -type f -print` ; do \ patch -R -p1 < $$i ; \ done -rm -rf build debian/stamp-* debian/$(TEMPINST)* -dh_clean -rm -f `find . -name "*~"` -rm -rf debian/tmp debian/files* core -rm -f debian/*substvars -rm -f `cat debian/gomi` ################################################## binary-indep: checkroot build $(checkdir) # There are no architecture-independent files to be uploaded # generated by this package. If there were any they would be # made here. binary-arch: checkroot build debian/stamp-build-shared debian/stamp-build-debug debian/stamp-mysql-max sh debian/move ### init, post* dh_installdeb cp debian/shlibs debian/libmysqlclient10/DEBIAN/ cp debian/my.cnf debian/mysql-server/etc/ cp support-files/mysql.server debian/mysql-server/etc/init.d/mysql ; chmod +x debian/mysql-server/etc/init.d/mysql ### dpkg-xxx dh_compress dh_fixperms dh_strip dh_shlibdeps dh_gencontrol dpkg --build debian/libmysqlclient10 .. dpkg --build debian/mysql-client .. dpkg --build debian/mysql-server .. dpkg --build debian/mysql-server-shared .. dpkg --build debian/mysql-server-debug .. dpkg --build debian/mysql-dev .. dpkg --build debian/mysql-bench .. dpkg --build debian/mysql-doc .. dpkg --build debian/mysql-max .. dpkg --build debian/mysql-max-shared .. dpkg --build debian/mysql-max-debug .. define checkdir test -f debian/rules endef # Below here is fairly generic really binary: binary-indep binary-arch ################################################## checkroot: $(checkdir) test root = "`whoami`" ################################################## .PHONY: binary binary-arch binary-indep clean checkroot