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
|
# this is the UNIX-style complicated layout dir, simple goes to $(prefix)/pd
prefix = /usr/local
libpddir = $(prefix)/lib/pd
.PHONY:
current: pd_linux
# ----------------------- Microsoft Visual C -----------------------
MSCC = cl
MSLN = link
pd_nt: $(NAME).dll
.SUFFIXES: .dll
PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -D_CRT_SECURE_NO_WARNINGS \
-D_CRT_NONSTDC_NO_DEPRECATE
VC = "C:\\Program Files\\Microsoft Visual Studio 9.0\\VC"
VSTK = "C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A"
PDNTINCLUDE = /I. /I..\\..\\src /I$(VC)\\include /I$(VSTK)\\include
PDNTLDIR = $(VC)\\lib
PDNTLIB = /NODEFAULTLIB:libcmt /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel32 \
/NODEFAULTLIB:uuid \
$(PDNTLDIR)\\libcmt.lib $(PDNTLDIR)\\oldnames.lib \
$(VSTK)\\lib\\kernel32.lib $(VSTK)\\lib\\uuid.lib \
..\\..\\bin\\pd.lib
.c.dll:
$(MSCC) $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
$(MSLN) /nologo /dll /export:$(CSYM)_setup $*.obj $(PDNTLIB)
# ----------------------- LINUX i386 -----------------------
pd_linux: $(NAME).pd_linux
.SUFFIXES: .pd_linux
LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer -fPIC \
-Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch \
-Wno-cast-function-type $(CFLAGS) $(MORECFLAGS)
LINUXINCLUDE = -I../../src
.c.pd_linux:
$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -shared -o $*.pd_linux $*.o -lc -lm
rm -f $*.o
# ----------------------- Mac OSX -----------------------
d_ppc: $(NAME).d_ppc
d_fat: $(NAME).d_fat
DARWINARCH= -arch i386 -arch x86_64 -arch ppc
.SUFFIXES: .d_ppc .d_fat
DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch
.c.d_ppc:
$(CC) $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o
rm -f $*.o
.c.d_fat:
$(CC) $(DARWINARCH) $(DARWINCFLAGS) $(LINUXINCLUDE) \
-Wno-cast-function-type -o $*.o -c $*.c
$(CC) $(DARWINARCH) -bundle -undefined suppress -flat_namespace \
-o $*.d_fat $*.o
rm -f $*.o
# ----------------------------------------------------------
distclean clean: clean-externals
rm -f *.o *.pd_* *.l_* *.d_* *.m_* so_locations
# ----------------------------------------------------------
# ----------------------------------------------------------
install:
install -d $(DESTDIR)$(libpddir)/extra/$(NAME)
install -m644 -p *.*_* $(DESTDIR)$(libpddir)/extra/$(NAME)
install -m644 -p *.pd $(DESTDIR)$(libpddir)/extra/$(NAME)
|