aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 6e7bdf87dbd803e2a7b438c6f38dd78ab972e661 (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
# set Name and system

NAME=algocomp
#SYSTEM = nt
SYSTEM = linux
# set paths for windows

# where is VC++ ???
VC="C:\Programme\Microsoft Visual C++ Toolkit 2003"
VCLINK="C:\Programme\Microsoft Visual C++ Toolkit 2003\bin\link"
# where is pd
#PDPATH="E:\Program Files\pd-0.38-3"
PDPATH=C:\Programme\pd-0.38-3
LIBPATH="$(PDPATH)/bin"

install: install_$(SYSTEM)

all: $(SYSTEM)
#all: pd_linux install_linux

# ----------------------- LINUX i386 -----------------------

linux: $(NAME).pd_linux

.SUFFIXES: .pd_linux

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

# where is your m_pd.h ???
LINUXINCLUDE =  -I../../src 

.c.pd_linux:
	cc -O2 -Wall -DPD -fPIC $(LINUXCFLAGS) $(LINUXINCLUDE) -c $*.c 
	ld --export-dynamic  -shared -o $*.pd_linux $*.o -lc 
	strip --strip-unneeded $*.pd_linux 

install_linux:
	sudo cp *.pd_linux /usr/lib/pd/extra/
	cp *.pd_linux ../../download

# ----------------------- NT -----------------------

nt: $(NAME).dll

.SUFFIXES: .dll

PDNTCFLAGS = /W3 /WX /O2 /G6 /DNT /DPD /nologo
PDNTINCLUDE = /I. /I$(PDPATH)\tcl\include /I$(PDPATH)\src /I$(VC)\include /Iinclude
PDNTLDIR = "C:\Programme\Microsoft Visual C++ Toolkit 2003\Lib"

PDNTLIB = "C:\Programme\Microsoft Visual C++ Toolkit 2003\Lib\libc.lib" \
	"C:\Programme\Microsoft Visual C++ Toolkit 2003\Lib\oldnames.lib" \
	"C:\Programme\Microsoft Visual C++ Toolkit 2003\Lib\kernel32.lib" \
	"$(PDPATH)\bin\pd.lib"


.c.dll: algocomp.c chaotic.c ifs.c selfsimilar.c chaossignals.c pan.c
	cl /W3 /WX /O2 /G6 /DNT /DPD /nologo /I. /I"C:\Programme\flextbuild\pd\tcl\include" /I"C:\Programme\flextbuild\pd\src" /I"C:\Programme\Microsoft Visual C++ Toolkit 2003\include" /Iinclude /c $(NAME).c
	link /dll /export:$(NAME)_setup $*.obj $(PDNTLIB)

#.c.dll:
#	cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
#	link /dll /export:$(CSYM)_setup $*.obj $(PDNTLIB)
	
install_nt:
	cp $(NAME).dll $(PDPATH)\externs
# -------------------------- XP --------------------------

# $(CXX) $(LDFLAGS) -shared $(patsubst %,-L%,$(LIBPATH)) $^ $(patsubst %,-l%,$(LIBS)) -o $@

pd_xp:
	gcc -O2 -Wall -DPD -L$(LIBPATH) -c $(NAME).c 
	ld --export-dynamic -shared -o $(NAME).dll -lc 


install_xp:
#	copy $(NAME).dll $(PDPATH)/externs
	cp $(NAME).dll $(PDPATH)/externs

clean:
	rm -f *.o *.dll *.exp *.obj *.lib
	rm -f *.o *.pd_* *.dll so_locations