[PD-dev] externals/build/doc makefile

Frank Barknecht fbar at footils.org
Fri Apr 9 14:14:19 CEST 2004


Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

> On Thursday, Apr 8, 2004, at 13:51 America/New_York, guenter geiger 
> wrote: 
> > Maybe that should be added to the debian package rules instead of 
> > the linux/makefile ? 
> > 
>  
> Hmm, I thought about that, but I haven't worked with the Debian 
> auto-builders at all, so I don't really know what impact it'd have.  I 
> tried to integrate it as seamlessly as possible into what was already 
> there. 


Attached is a rules file I worked on, that builds more externals than
the offical one. I intend to check this in but it's a bit unfinished
still.

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

orig: clean
	(cd ..;tar czvf pd-externals_00.`date +%Y%m%d`.orig.tar.gz pd-externals)


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

	touch configure-stamp

build: build-stamp

FOOBUILD = PD_DIR=../../build/include \
                      FLEXTPATH=../../grill/flext/source \
	                  FLEXTINC=../../grill/flext/source \
					  FLEXTLIB=../../grill/flext/pd-linux/libflext.a \
					  LIBFLEXT=../../grill/flext/pd-linux/libflext.a \
                      FLUIDLIB=" -lfluidsynth" 

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  PDPATH=../../build/include STK=/usr/local/include/stk SNDOBJ=/usr/include/SndObj)
	(cd grill/idelay; 	$(MAKE) -f makefile.pd-linux $(FOOBUILD))
	(cd grill/xsample; 	$(MAKE) -f makefile.pd-linux $(FOOBUILD))
	(cd grill/fftease; 	$(MAKE) -f makefile.pd-linux $(FOOBUILD)) 
	(cd grill/vasp; 	$(MAKE) -f makefile.pd-linux $(FOOBUILD) FLEXTPATH=../../grill/flext/pd-linux) 
	(cd grill/pool; 	$(MAKE) -f makefile.pd-linux $(FOOBUILD)) 
	
	# build dfx
	#(cd dfx/buffer_override; $(MAKE) $(FOOBUILD))
	#(cd dfx/polarizer;       $(MAKE) $(FOOBUILD))
	#(cd dfx/skidder;         $(MAKE) $(FOOBUILD))
	#(cd dfx/transverb;       $(MAKE) $(FOOBUILD))
	
	(make -C footils/fluid -k  $(FOOBUILD) )
	(make -C footils/shabby -k  $(FOOBUILD) )
	(make -C footils/syncgrain -k  $(FOOBUILD) )
	
	# OSC

	(cd OSCx/libOSC;$(MAKE))
	(cd OSCx/src; $(MAKE))

	# build cyclone
	-mkdir miXed/bin
	(cd miXed/cyclone; make PD_DIR='../../build/include')


	touch build-stamp

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

	# Remove the garbage that ppl put in CVS
	-rm `find . -name "*.pd_linux"`
	-rm `find . -name "*.lib"`
	-rm `find . -name "*.o"`
	-rm `find . -name "*.dll"`
	-rm `find . -name "*.obj"` 

	# fix up wrong permissions

	chmod 644 `find . -name "*.h"`
	chmod 644 `find . -name "*.c"`
	chmod 644 `find . -name "*.pd"`

	# 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/vasp; $(MAKE) -f makefile.pd-linux clean)
	(cd grill/pool; $(MAKE) -f makefile.pd-linux clean)
	
	# clean  dfx
	(cd dfx/buffer_override; $(MAKE) clean)
	(cd dfx/polarizer;       $(MAKE) clean)
	(cd dfx/skidder;         $(MAKE) clean)
	(cd dfx/transverb;       $(MAKE) clean)

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

	-(cd OSCx/libOSC;$(MAKE) clean)
	-(cd OSCx/src; $(MAKE) pd_linux_clean)
#
#  Clean cyclone
#
	(cd miXed/cyclone; make clean)
	-rm miXed/bin/cyclist

	dh_clean

FOOINSTALL = FLEXTPATH=../../grill/flext/pd-linux \
		FLEXTINC=../../grill/flext/source \
		DESTDIR=$(CURDIR)/debian/tmp \
		INSTDIR=$(CURDIR)/debian/tmp/usr/lib/pd/extra \
		INSTPATH=$(CURDIR)/debian/tmp/usr/lib/pd/extra \
		PDEXTRA=$(CURDIR)/debian/tmp/usr/lib/pd/extra

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)

# Install zexy

	(cd zexy/src; $(MAKE) -f makefile.linux install DESTDIR=$(CURDIR)/debian/tmp \
	                              INSTALL_PREFIX=/usr/ \
				      PDLIBDIR=lib/pd )
#	ln -s zexy $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference/help-zexy

# Install flext

	(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/vasp; 	$(MAKE) -f makefile.pd-linux install INSTDIR=$(CURDIR)/debian/tmp/usr/lib/pd/extra FLEXTPATH=../../grill/flext/pd-linux; \
				$(MAKE) -f makefile.pd-linux install-help HELPDIR=$(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 dfx
	#(cd dfx/buffer_override; $(MAKE) $(FOOINSTALL) install)
	#(cd dfx/polarizer;       $(MAKE) $(FOOINSTALL) install) 
	#(cd dfx/skidder;         $(MAKE) $(FOOINSTALL) install) 
	#(cd dfx/transverb;       $(MAKE) $(FOOINSTALL) install)
	
	# Install OSC

# Install footils ... this is quite messy still, have to find a better solution

#	(make -C footils/fluid -k  $(FOOINSTALL) install)
#	(make -C footils/shabby -k  $(FOOINSTALL) install)
#	(make -C footils/syncgrain -k  $(FOOINSTALL) install)
#	install -m 644 footils/fluid/pd/fluid.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference/fluid-help.pd
#	install -m 644 footils/shabby/shaffy~-help.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference
#	install -m 644 footils/shabby/shabby~.pd_linux $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference

	install OSCx/src/OSC.pd_linux $(CURDIR)/debian/tmp/usr/lib/pd/extra
	install OSCx/doc/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/5.reference

# Install cyclone

	mkdirhier $(CURDIR)/debian/tmp/usr/lib/pd/externs/cyclone
	install $(CURDIR)/miXed/bin/*.pd_linux $(CURDIR)/debian/tmp/usr/lib/pd/externs/cyclone/
	mkdirhier $(CURDIR)/debian/tmp/usr/lib/pd/doc/cyclone
	install -m 644  $(CURDIR)/miXed/test/cyclone/*.pd $(CURDIR)/debian/tmp/usr/lib/pd/doc/cyclone
	
	(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