aboutsummaryrefslogtreecommitdiff
path: root/src/makefile.darwin
blob: e29363e54d2a069c0ab062517e6ca76f8168c534 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
current: all


# the ZEXY-EXTERNAL-makefile
# everything is GnuGPL that should come with the zexy.tgz
# NO WARRANTIES FOR ANYTHING
# et cetera
# 1999:forum::für::umläute:2001

# make sure that the "m_pd.h" is somehow available either by putting it into this
# directory, by adding it's path to the INCLUDE-path or by putting it into an
# already included path, e.g. "/usr/local/include/"

#these are the user adjustables : adjust them to fit into your system
# PD will install to $(DESTDIR)$(INSTALLL_PREFIX)$(PDLIBDIR), which is /usr/local/lib/pd
# by default
DESTDIR =
INSTALL_PREFIX = /usr/local
PDLIBDIR = /pd
#these were the user adjustables

CC=gcc

TARGETS = zexy \
	z_connective z_pack z_multiplex z_drip \
	z_makesymbol z_strings \
	z_index z_msgfile \
	z_stat z_average z_sort \
	z_tabread4 z_coordinates \
	z_datetime z_lp \
	z_matrix \
	z_noise z_testfun \
	z_multiline z_sigmatrix \
	z_nop z_zdelay \
	z_limiter z_quantize z_swap \
	z_sigbin z_sigaverage \
	z_dfreq z_sigzero z_pdf \
	z_sfplay z_sfrecord \
	z_sigpack z_wrap \
	z_prime z_random \
	z_operating_system

# ----------------------- MACOSX ----------------------------
.SUFFIXES: .pd_darwin


MACOSXOBJECTS = $(TARGETS:%=%.o)
ARCH = $(shell uname --machine)

PD_DIR = $(DESTDIR)$(INSTALL_PREFIX)$(PDLIBDIR)

ifeq (${ARCH},alpha)
AFLAGS = -mieee  -mcpu=ev56
endif

LINCLUDE = -I../../../pd/src

$(MACOSXOBJECTS): *.h

CFLAGS = -O2 -DMACOSX -Dunix -g -Wall-W -Wno-unused \
	 -Wno-parentheses -Wno-switch $(LINCLUDE) $(UCFLAGS) $(AFLAGS)

#MACOSXLINKFLAGS = -bundle -undefined suppress  -flat_namespace
MACOSXLINKFLAGS = -bundle -bundle_loader ../../../pd/bin/pd

everything: clean all install distclean

distclean:
	touch dummy.o
	touch dummy.pd_darwin
	touch dummy~
	touch _dummy
	rm *.o *.pd_darwin *~ _*

clean:
	touch dummy.o
	touch dummy.pd_darwin
	rm *.o *.pd_darwin

all: $(MACOSXOBJECTS)

	@echo :: $(MACOSXOBJECTS)

	$(CC) $(MACOSXLINKFLAGS) -o zexy.pd_darwin *.o -lc -lm
#	strip -x zexy.pd_darwin

.c.pd_darwin:
	$(CC) $(CFLAGS) -DPD $(INCLUDE) -c -o $*.o $*.c

install: installdocs
	install -m 644 zexy.pd_darwin $(PD_DIR)/extra

installdocs:
	install -d $(PD_DIR)/doc/5.reference/zexy
	install -m644 ../examples/*.* $(PD_DIR)/doc/5.reference/zexy


# added by Hans-Christoph Steiner <hans@eds.org>
# to generate MacOS X packages

ZEXY_VERSION = $(shell grep VERSION zexy.h | cut -d ' ' -f 3 | cut -d '"' -f 2)
PACKAGE_PREFIX = pd-zexy
PACKAGE_NAME = $(PACKAGE_PREFIX)-$(ZEXY_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
#	echo "<HTML><BODY><FONT SIZE="-1">" > ../Welcome.html
#	head -11 ../README.txt >> ../Welcome.html	
#	sed -i -e 's/the zexy external/\<B\>the zexy external\<\/B\>/' ../Welcome.html
#	sed -i -e 's/^$$/\<P\>/' ../Welcome.html
#	echo "</FONT></BODY></HTML>" >> ../Welcome.html
	head -11 ../README.txt >> Welcome.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

HELP_DIR = installroot/pd/doc/5.reference/help-zexy
darwin_pkg: all darwin_pkg_clean darwin_pkg_license darwin_pkg_welcome
# set up installroot dir
	test -d $(HELP_DIR)  || mkdir -p  $(HELP_DIR)
	install -m444 ../zexy.pd  $(HELP_DIR)/..
	install -d $(HELP_DIR)/help-zexy
	install -m444 ../examples/*.* $(HELP_DIR)
	test -d installroot/pd/extra || mkdir -p installroot/pd/extra
	install -m444 *.pd_darwin installroot/pd/extra
	cp -f ../pd-zexy.info ../$(PACKAGE_NAME).info
# delete cruft
	-find installroot -name .DS_Store -delete
	-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 Welcome.txt $(PACKAGE_NAME).pkg/Contents/Resources
	sudo chown -R root:staff $(PACKAGE_NAME).pkg/Contents/Resources


# install into MacOS X style paths: /Library/Pd

darwin_altpkg: all darwin_pkg_clean darwin_pkg_license darwin_pkg_welcome
# set up installroot dir
	test -d installroot/Help || mkdir -p installroot/Help
	-cp ../examples/* installroot/Help
	test -d installroot/Externals || mkdir -p installroot/Externals
	install -m444 *.pd_darwin installroot/Externals
	sed -e 's/\/usr\/local\/lib/\/Library\/Pd/' ../pd-zexy.info \
		 | sed -e 's/MSP standard paths/MacOS X-style Paths/' \
		 > ../$(PACKAGE_NAME)-alt.info
 # delete cruft
	-find installroot -name .DS_Store -delete
	-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 444 License.html Welcome.txt $(PACKAGE_NAME)-alt.pkg/Contents/Resources
	sudo chown -R root:staff $(PACKAGE_NAME)-alt.pkg/Contents/Resources