# 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)