[PD-dev] Extended debian/rules for pd-externals

Frank Barknecht fbar at footils.org
Sun Feb 16 15:10:00 CET 2003


Hallo,

attached is an extended unofficial rules file to build externals 
from sourceforge. I use this, you don't need to, but you can, too.
Changes compared to the rules file by Guenther include:

* builds flext with SndObj and STK (the STK-path needs to be set by
  hand, as there isn't an STK for Debian, AFAIK)

* builds the following and puts them into pd-externals: 
   * grill/idelay
   * grill/xsample (as a library)
   * grill/fftease (as a library)
   * grill/pool (edit config-pd-linux and comment out CXX=g++ if you
   need g++-3.2 for now)
   * creb (as a library. abs/*.pd are installed to $PDDIR/extra/creb.
   You might want to comment remove abs.o from creb/modules/Makefile,
   as abs~ is also in other libraries, at least 2 times. creb is a
   candidate for Guenther's build/linux system, IMO, so my
   rules-solution is only temporary and will fade away soon.)

* doesn't build my own externals yet. I'm an altruist.

To use g++-3.2 and gcc-3.2 for compilation do a 

$ export CXX=g++-3.2 CPLUSPLUS=g++-3.2 CC=gcc-3.2

before you do

$ fakeroot debian/rules binary

Have fun.

ciao
-- 
 Frank Barknecht                               _ ______footils.org__
-------------- next part --------------
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This is the debhelper compatibility version to use.
export DH_COMPAT=3



ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	touch configure-stamp

orig:
	cd ..;tar --exclude=CVS -czvf pd-externals_0.2.orig.tar.gz externals
	


build: build-stamp

build-stamp: configure-stamp 
	dh_testdir

	# Add here commands to compile the package.
	# Build the common externals

	(cd build/linux; $(MAKE))

	# Build zexy
	
	(cd zexy/src; $(MAKE) -f makefile.linux)

	# Build flext
	
	(cd grill/flext; 	$(MAKE) -f makefile.pd-linux  STK=/usr/local/include/stk SNDOBJ=/usr/include/SndObj)
	(cd grill/idelay; 	$(MAKE) -f makefile.pd-linux FLEXTPATH=$(CURDIR)/grill/flext/source FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a)
	(cd grill/xsample; 	$(MAKE) -f makefile.pd-linux FLEXTPATH=$(CURDIR)/grill/flext/source FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a)
	(cd grill/fftease; 	$(MAKE) -f makefile.pd-linux FLEXTPATH=$(CURDIR)/grill/flext/source FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a)
	(cd grill/pool; 	$(MAKE) -f makefile.pd-linux FLEXTPATH=$(CURDIR)/grill/flext/source FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a)
	
	# OSC

	(cd OSCx/libOSC;$(MAKE))
	(cd OSCx/OSC; $(MAKE))
	
	# Build creb
	(cd creb; $(MAKE))
	
	#/usr/bin/docbook-to-man debian/pd-externals.sgml > pd-externals.1

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	# Add here commands to clean up after the build process.
	-(cd build/linux;$(MAKE) clean)

	(cd zexy/src; $(MAKE) -f makefile.linux  clean)

	(cd grill/flext; $(MAKE) -f makefile.pd-linux clean)
	(cd grill/idelay; $(MAKE) -f makefile.pd-linux clean)
	(cd grill/xsample; $(MAKE) -f makefile.pd-linux clean)
	(cd grill/fftease; $(MAKE) -f makefile.pd-linux clean)
	(cd grill/pool; $(MAKE) -f makefile.pd-linux clean)

	(cd OSCx/libOSC;$(MAKE) clean)
	(cd OSCx/OSC; $(MAKE) pd_linux_clean)
	(cd creb; $(MAKE) clean)

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/pd-externals.
	(cd build/linux; $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp)
	(cd zexy/src; $(MAKE) -f makefile.linux install DESTDIR=$(CURDIR)/debian/tmp \
	                              INSTALL_PREFIX=/usr/ \
				      PDLIBDIR=lib/pd )
	(cd grill/flext; 	$(MAKE) -f makefile.pd-linux install INSTDIR=$(CURDIR)/debian/tmp/usr/lib/pd/flext)
	(cd grill/idelay; 	$(MAKE) -f makefile.pd-linux install INSTDIR=$(CURDIR)/debian/tmp/usr/lib/pd/extra FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a; \
				install pd/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference)
	(cd grill/xsample; 	$(MAKE) -f makefile.pd-linux install INSTDIR=$(CURDIR)/debian/tmp/usr/lib/pd/extra FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a; \
				$(MAKE) -f makefile.pd-linux install-help HELPDIR=$(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference)
	(cd grill/fftease; 	$(MAKE) -f makefile.pd-linux install INSTPATH=$(CURDIR)/debian/tmp/usr/lib/pd/extra FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a; \
				install pd/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference)
	(cd grill/pool; 	$(MAKE) -f makefile.pd-linux install INSTPATH=$(CURDIR)/debian/tmp/usr/lib/pd/extra FLEXTLIB=$(CURDIR)/grill/flext/pd-linux/flext.a; \
				install *.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference) 

	# Install OSC

	install OSCx/OSC/OSC.pd_linux $(CURDIR)/debian/tmp/usr/lib/pd/extra
	install OSCx/doc/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference
	
	(cd creb; \
	install creb.pd_linux $(CURDIR)/debian/tmp/usr/lib/pd/extra; \
	install doc/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference; \
	install -d $(CURDIR)/debian/tmp/usr/lib/pd/extra/creb; \
	install abs/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/extra/creb; \
	)
	

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_movefiles
#	dh_installdebconf	
	dh_installdocs
	dh_installexamples
	dh_installmenu
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
	dh_installcron
	dh_installman
	dh_installinfo
#	dh_undocumented
	dh_installchangelogs 
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
#	dh_perl
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure


More information about the Pd-dev mailing list