aboutsummaryrefslogtreecommitdiff
path: root/dssi/makefile
blob: b7c6a357ddb09f915a9f1ac510bb3b8b150e3039 (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
NAME=dssi~
CSYM=dssi~

LIBDIR=/usr/local/lib
PDDIR=$(LIBDIR)/pd
INSTALLPATH=$(PDDIR)/extra/

current: pd_darwin


# ----------------------- Linux -----------------------

pd_linux: src/$(NAME).pd_linux

.SUFFIXES: .pd_linux

LINUXCFLAGS = -DPD -O3 -fPIC -funroll-loops -fomit-frame-pointer \
    -Wall -W -Wshadow -Wstrict-prototypes -Werror \
    -Wno-unused -Wno-parentheses -Wno-switch

# Debug
#LINUXCFLAGS = -ggdb -g -DPD -O0 -fPIC -funroll-loops -fomit-frame-pointer \
    -Wall -W -Wshadow -Wstrict-prototypes -Werror \
    -Wno-unused -Wno-parentheses -Wno-switch

LINUXINCLUDE =  -I/usr/include -I./include

.c.pd_linux:
	$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/jsearch.c
	$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/jload.c
	$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/dssi~.c
	ld -export_dynamic  -shared -o $(NAME).pd_linux dssi~.o jload.o jsearch.o -lc -lm -llo
#	strip --strip-unneeded $(NAME).pd_linux
	rm -f *.o

# ----------------------- Mac OSX -----------------------

pd_darwin: src/$(NAME).pd_darwin

.SUFFIXES: .pd_darwin

DARWINCFLAGS = -DPD -O3 -Wall -W -Wshadow -Wstrict-prototypes \
    -Wno-unused -Wno-parentheses -Wno-switch -L/usr/local/lib/

DARWININCLUDE = -I ./ -I ../src -I/usr/local/include/ -I ./include -I/usr/local/include/dssi/

.c.pd_darwin:
	$(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/jsearch.c
	$(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/jload.c
	$(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/dssi~.c
	$(CC) -bundle -undefined suppress -flat_namespace -llo -o $(NAME).pd_darwin dssi~.o jload.o jsearch.o 
	rm -f *.o

# ----------------------- Generic -----------------------

clean:
	rm -f *.o *.pd_* so_locations

install:
	cp dssi~.pd_linux $(INSTALLPATH)
	install -d  $(PDDIR)/doc/5.reference/dssi/
	install -m 644 doc/help-* $(PDDIR)/doc/5.reference/
	install -m 644 doc/output~.pd $(PDDIR)/doc/5.reference/dssi/