[PD-cvs] externals/build/darwin makefile,1.18,1.19

Hans-Christoph Steiner eighthave at users.sourceforge.net
Mon Nov 21 05:48:47 CET 2005


Update of /cvsroot/pure-data/externals/build/darwin
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9344/build/darwin

Modified Files:
	makefile 
Log Message:

Lots of changes, got the first complete(-ish) build with the new extended
build system.  I left as much of the old functionality in place as possible,
definitely were it was being used.  But there are some changes that break
backwards compatibility, thought they should be noticed by few, and be easy to
fix going forward.

Some highlights:

 - centralized patch system (packages/patches with targets patch_pd and
   unpatch_pd)

 - easily redirected builds, using INSTALL_PREFIX and all of the *_DEST
   variables.  This makes building packages like Pd.app, .deb, .rpm,
   etc. much easier.

 - libdir format: basically a libdir is a directory that has both the objects
   and the help files together in one folder.  It can be added using -lib or
   the StartUp preferences, or you can access them via geiger namespaces,
   i.e. [mylibrary/myobject].

 - special characters allow in setup function/file names for objects.  This
   makes objects like [||~] possible without having to be in a library.  Now
   they can be either .pd files or individual .pd_darwin files (thanks
   IOhannes for the patch).


Index: makefile
===================================================================
RCS file: /cvsroot/pure-data/externals/build/darwin/makefile,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** makefile	15 Nov 2005 06:24:23 -0000	1.18
--- makefile	21 Nov 2005 04:48:44 -0000	1.19
***************
*** 1,13 ****
- prefix=/tmp
- #prefix=$(DESTDIR)/usr/local/lib/pd
  
! EXTERNALS = $(shell ls -1 ../src | grep -e '.*\.c$$')
  
! all: $(EXTERNALS:.c=.pd_darwin)
  
  .SUFFIXES: .pd_darwin
  
! #PDEXECUTABLE = /usr/local/bin/pd
! PDEXECUTABLE = ../../../pd/bin/pd
  
  ## These generally need gcc-3.3
--- 1,22 ----
  
! CWD := $(shell pwd)
  
! # these are setup to be overridden by the packages/Makefile
! SRC_ROOT_DIR = $(CWD)/../../..
! INSTALL_PREFIX = build
! BUILDLAYOUT_DIR = $(CWD)/../..
! 
! all: externals
  
  .SUFFIXES: .pd_darwin
  
! include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
! 
! BUILD_SRC = $(EXTERNALS_SRC)/build/src
! BUILD_DARWIN_SRC = $(EXTERNALS_SRC)/build/darwin
! 
! EXTERNALS = $(shell ls -1 $(BUILD_SRC) | grep -e '.*\.c$$')
! 
! PDEXECUTABLE = $(PD_SRC)/bin/pd
  
  ## These generally need gcc-3.3
***************
*** 25,116 ****
  CFLAGS = -DPD -DUNIX -DMACOSX -Dunix $(OPTIM_FLAGS) \
      -Wall -W -Wno-unused -Wno-parentheses -Wno-switch -Wno-shadow 
! INCLUDES = -I. -I.. -I../../../pd/src -I../include -I/sw/include
  LDFLAGS = -bundle  -bundle_loader $(PDEXECUTABLE) -L/sw/lib
  
! %.pd_darwin: ../src/%.c
! 	$(CC) $(CFLAGS) $(INCLUDES) -o "$*.o" -c "../src/$*.c"
! 	$(CC) $(LDFLAGS) -o "$*.pd_darwin" "$*.o" -lc -lm \
! 		`test -f $*.libs && cat $*.libs`	\
! 		`test -f ../src/$*.libs && cat ../src/$*.libs`
! 	chmod a-x "$*.pd_darwin"
! 	rm -f "$*.o" 
! 
! clean:
! 	-rm *.pd_darwin *~
! 	-rm -rf root *.pkg 
! 
! install-doc:	
! 	test -d $(prefix)/doc/5.reference || mkdir -p $(prefix)/doc/5.reference
! 	cd ../doc && make all
! 	install -m444 ../doc/*.* $(prefix)/doc/5.reference
! 
! install-abstractions:
! 	test -d $(prefix)/extra || mkdir -p $(prefix)/extra
! 	install -m444 \
! 			../../vbap/graph-to-aziele.pd \
! 			$(prefix)/extra
! 
! install: install-doc
! 	test -d $(prefix)/extra || mkdir -p $(prefix)/extra
! 	install -m644 *.pd_darwin $(prefix)/extra
! 
! 
! EXTERNALS_VERSION := $(shell date +20%y.%m.%d)
! PACKAGE_PREFIX = pd-externals
! PACKAGE_NAME = $(PACKAGE_PREFIX)-$(EXTERNALS_VERSION)
! 
! darwin_pkg_license:
!   # generate HTML version of License
! 	echo "<HTML><BODY><FONT SIZE=\"-1\">" > License.html
! 	cat ../../creb/COPYING | sed -e 's/^$$/\<P\>/g' >> License.html	
! 	echo "</FONT></BODY></HTML>" >> License.html
! 
! darwin_pkg_welcome:
! # generate Welcome.html from ../README.txt
! 
! darwin_pkg_clean:
! 	-sudo rm -Rf installroot/ $(PACKAGE_PREFIX)*.pkg/
! 	-rm -f $(PACKAGE_PREFIX)-*.info 1 License.html Welcome.???*
! 
! # install into MSP's default: /usr/local/lib
! 
! darwin_pkg: DESTDIR = installroot
! darwin_pkg: prefix = $(DESTDIR)/pd
! darwin_pkg: all install darwin_pkg_license darwin_pkg_welcome
! # set up installroot dir
! #  test -d installroot/pd/doc/5.reference/ || mkdir -p installroot/pd/doc/5.reference/
! #	test -d installroot/pd/extra || mkdir -p installroot/pd/extra
! #	install -m644 --group=staff *.pd_darwin installroot/pd/extra
! 	cp -f pd-externals.info $(PACKAGE_NAME).info
! # delete cruft
! 	-find installroot -name .DS_Store -delete
! 	-sudo rm -Rf installroot/*/*/CVS installroot/*/*/*/CVS installroot/*/*/*/*/CVS 
! 	-rm -f 1
! # set proper permissions
! 	sudo chown -R root:staff installroot
! 	package installroot $(PACKAGE_NAME).info -d . -ignoreDSStore
! # install pkg docs
! 	install -m 644 License.html $(PACKAGE_NAME).pkg/Contents/Resources
! 	sudo chown -R root:staff $(PACKAGE_NAME).pkg/Contents/Resources
  
  
! # install into MacOS X style path: /Library/Pd
  
! darwin_altpkg: all darwin_pkg_clean darwin_pkg_license darwin_pkg_welcome
! 	test -d installroot/Help || mkdir -p installroot/Help
! 	cp -r ../doc/* installroot/Help
! 	test -d installroot/Externals || mkdir -p installroot/Externals
! 	install -m644 --group=staff *.pd_darwin installroot/Externals
! 	sed -e 's/\/usr\/local\/lib/\/Library\/Pd/' pd-externals.info \
! 		 | sed -e 's/MSP standard paths/MacOS X-style Paths/' \
! 		 > $(PACKAGE_NAME)-alt.info
!  # delete cruft
! 	-sudo find installroot -name .DS_Store -delete
! 	-sudo rm -Rf installroot/*/*/CVS installroot/*/*/*/CVS installroot/*/*/*/*/CVS 
! 	-rm -f 1
!  # set proper permissions
! 	sudo chown -R root:staff installroot
! 	package installroot $(PACKAGE_NAME)-alt.info -d . -ignoreDSStore
!  # install pkg docs
! 	install -m 644 License.html $(PACKAGE_NAME)-alt.pkg/Contents/Resources
! 	sudo chown -R root:staff $(PACKAGE_NAME)-alt.pkg/Contents/Resources
--- 34,60 ----
  CFLAGS = -DPD -DUNIX -DMACOSX -Dunix $(OPTIM_FLAGS) \
      -Wall -W -Wno-unused -Wno-parentheses -Wno-switch -Wno-shadow 
! INCLUDES = -I$(PD_SRC)/src -I/sw/include
  LDFLAGS = -bundle  -bundle_loader $(PDEXECUTABLE) -L/sw/lib
  
! externals: $(EXTERNALS:.c=.pd_darwin)
  
+ %.pd_darwin: $(BUILD_SRC)/%.c
+ 	$(CC) $(CFLAGS) $(INCLUDES) -o "$(BUILD_DARWIN_SRC)/$*.o" \
+ 		-c "$(BUILD_SRC)/$*.c"
+ 	$(CC) $(LDFLAGS) -o "$(BUILD_DARWIN_SRC)/$*.pd_darwin" \
+ 		"$(BUILD_DARWIN_SRC)/$*.o" -lc -lm \
+ 		`test -f $(BUILD_DARWIN_SRC)/$*.libs && \
+ 			cat $(BUILD_DARWIN_SRC)/$*.libs`	\
+ 		`test -f $(BUILD_SRC)/$*.libs && \
+ 			cat $(BUILD_SRC)/$*.libs`
+ 	chmod a-x "$(BUILD_DARWIN_SRC)/$*.pd_darwin"
+ 	rm -f "$(BUILD_DARWIN_SRC)/$*.o" 
  
! #------------------------------------------------------------------------------
! # CLEAN TARGETS
! #------------------------------------------------------------------------------
  
! clean:
! 	-rm -rf root *.pkg 
! 	-rm $(BUILD_DARWIN_SRC)/*~
! 	rm $(BUILD_DARWIN_SRC)/*.pd_darwin





More information about the Pd-cvs mailing list