diff options
author | Miller Puckette <millerpuckette@users.sourceforge.net> | 2004-11-06 16:07:34 +0000 |
---|---|---|
committer | Miller Puckette <millerpuckette@users.sourceforge.net> | 2004-11-06 16:07:34 +0000 |
commit | 981f641ef44fe4d72dcb0e1248a2f96ba53cee69 (patch) | |
tree | d5871a901628db17e12e6204d13b4bdb4b8a07d9 /pd/src/makefile | |
parent | 5b0640e17d6db9e119d657fcadcf52ff317e704d (diff) |
0.38 test 9 (mostly bug fixes)
svn path=/trunk/; revision=2226
Diffstat (limited to 'pd/src/makefile')
-rw-r--r-- | pd/src/makefile | 189 |
1 files changed, 186 insertions, 3 deletions
diff --git a/pd/src/makefile b/pd/src/makefile index 62e5f34b..4ab45713 100644 --- a/pd/src/makefile +++ b/pd/src/makefile @@ -1,3 +1,186 @@ -all: - ./configure - make +VPATH = ../obj:./ +OBJ_DIR = ../obj +BIN_DIR = ../bin +PDEXEC = $(BIN_DIR)/pd +EXT= pd_linux +GUINAME= pd-gui + +INSTALL_PREFIX = /usr/local +GFLAGS = -DINSTALL_PREFIX=\"$(INSTALL_PREFIX)\" + +MANDIR = ${prefix}/man + +MORECFLAGS = -DDL_OPEN -DPA_USE_OSS -DPA_LITTLE_ENDIAN -DUNIX -DUNISTD -DUSEAPI_OSS -I../portaudio/pa_common -I../portaudio/pablio -I../portaudio/portmidi-macosx -fno-strict-aliasing -DPA_USE_ALSA -DUSEAPI_ALSA + +INCLUDE = -I. +GINCLUDE = $(INCLUDE) +GLIB = -ltk8.4 -ltcl8.4 -lX11 -L/usr/X11R6/lib -lrt + +LDFLAGS = -Wl,-export-dynamic -lasound +LIB = -ldl -lpthread -lasound + +OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer +WARN_CFLAGS = -Wall -W -Wstrict-prototypes \ + -Wno-unused -Wno-parentheses -Wno-switch +ARCH_CFLAGS = -DPD + +CFLAGS = -Werror $(ARCH_CFLAGS) $(WARN_CFLAGS) $(OPT_CFLAGS) $(MORECFLAGS) + +# the sources + +SYSSRC += s_midi_oss.c s_audio_oss.c s_audio_alsa.c s_audio_alsamm.c + +SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \ + g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \ + g_all_guis.c g_bang.c g_hdial.c g_hslider.c g_mycanvas.c g_numbox.c \ + g_toggle.c g_vdial.c g_vslider.c g_vumeter.c \ + m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c \ + m_conf.c m_glob.c m_sched.c \ + s_main.c s_inter.c s_file.c s_print.c \ + s_loader.c s_path.c s_entry.c s_audio.c s_midi.c \ + d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c d_dac.c d_misc.c \ + d_math.c d_fft.c d_mayer_fft.c d_fftroutine.c d_array.c d_global.c \ + d_delay.c d_resample.c \ + x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c \ + x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c d_soundfile.c \ + $(SYSSRC) + + +OBJ = $(SRC:.c=.o) + +GSRC = t_main.c t_tkcmd.c + +GOBJ = $(GSRC:.c=.o) + +# +# ------------------ targets ------------------------------------ +# + +.PHONY: pd gui externs all + +all: $(PDEXEC) $(BIN_DIR)/pd-watchdog $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \ + $(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk externs + +bin: $(PDEXEC) $(BIN_DIR)/pd-watchdog $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \ + $(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk + +$(OBJ) : %.o : %.c + $(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c + +$(GOBJ) : %.o : %.c + $(CC) $(CFLAGS) $(GFLAGS) $(GINCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c + +pd: $(PDEXEC) + +gui: $(BIN_DIR)/$(GUINAME) + +pd-watchdog: $(BIN_DIR)/pd-watchdog + +$(BIN_DIR)/pd-watchdog: s_watchdog.c + $(CC) -O2 $(STRIPFLAG) -o $(BIN_DIR)/pd-watchdog s_watchdog.c + +$(BIN_DIR)/pdsend: u_pdsend.c + $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdsend u_pdsend.c + +$(BIN_DIR)/pdreceive: u_pdreceive.c + $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c + +$(PDEXEC): $(OBJ) + cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) \ + $(LIB) + +$(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC) + cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) \ + $(GLIB) + +$(BIN_DIR)/pd.tk: u_main.tk + echo set pd_nt 0 > $(BIN_DIR)/pd.tk + grep -v "set pd_nt" < u_main.tk >> $(BIN_DIR)/pd.tk + +#this is for Max OSX only... +$(BIN_DIR)/pdtcl: $(GOBJ) $(GSRC) + cd ../obj; libtool -dynamic -o $(BIN_DIR)/pdtcl $(GOBJ) \ + ../../Frameworks/Tk.framework/Versions/Current/Tk \ + ../../Frameworks/Tcl.framework/Versions/Current/Tcl \ + /usr/lib/libSystem.B.dylib + +externs: + cd ../extra/bonk~;make + cd ../extra/choice;make + cd ../extra/expr~;make + cd ../extra/fiddle~;make + cd ../extra/loop~;make + cd ../extra/lrshift~;make + cd ../extra/pique;make + +INSTDIR = $(DESTDIR)/$(INSTALL_PREFIX) +MANINSTDIR = $(DESTDIR)/$(INSTALL_PREFIX)/$(MANDIR) +BINARYMODE=-m755 + +install: all + install -d $(INSTDIR)/lib/pd/bin + install $(BIN_DIR)/$(GUINAME) $(INSTDIR)/lib/pd/bin/$(GUINAME) + install $(BIN_DIR)/pd-watchdog $(INSTDIR)/lib/pd/bin/pd-watchdog + install -m644 $(BIN_DIR)/pd.tk $(INSTDIR)/lib/pd/bin/pd.tk + install -d $(INSTDIR)/bin + install $(BINARYMODE) $(PDEXEC) $(INSTDIR)/bin/pd + install -m755 $(BIN_DIR)/pdsend $(INSTDIR)/bin/pdsend + install -m755 $(BIN_DIR)/pdreceive $(INSTDIR)/bin/pdreceive + cp -pr ../doc ../extra $(INSTDIR)/lib/pd/ + rm -f $(INSTDIR)/extra/*/*.o + install -d $(INSTDIR)/include + install -m644 m_pd.h $(INSTDIR)/include/m_pd.h + install -d $(MANINSTDIR)/man1 + gzip < ../man/pd.1 > $(MANINSTDIR)/man1/pd.1.gz + chmod 644 $(MANINSTDIR)/man1/pd.1.gz + gzip < ../man/pdsend.1 > $(MANINSTDIR)/man1/pdsend.1.gz + chmod 644 $(MANINSTDIR)/man1/pdsend.1.gz + gzip < ../man/pdreceive.1 > $(MANINSTDIR)/man1/pdreceive.1.gz + chmod 644 $(MANINSTDIR)/man1/pdreceive.1.gz + +local-clean: + -rm -f ../obj/* $(BIN_DIR)/pd $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \ + $(BIN_DIR)/pdreceive $(BIN_DIR)/pd-watchdog m_stamp.c + -rm -f `find ../portaudio ../portaudio_v18 -name "*.o"` + -rm -f *~ + -(cd ../doc/6.externs; rm -f *.pd_linux) + -rm -f makefile.dependencies + touch makefile.dependencies + chmod 666 makefile.dependencies + +extra-clean: + -rm -f `find ../extra/ -name "*.pd_*"` + -rm -f tags + +clean: extra-clean local-clean + +distclean: clean + rm -rf config.cache config.log config.status makefile tags \ + autom4te-*.cache + echo all: > makefile + echo -e "\t./configure" >> makefile + echo -e "\tmake" >> makefile + +tags: $(SRC) $(GSRC); ctags *.[ch] + +depend: + $(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies + +uninstall: + rm -f -r $(INSTDIR)/lib/pd + rm -f $(INSTDIR)/bin/pd + rm -f $(INSTDIR)/bin/pdsend + rm -f $(INSTDIR)/bin/pdreceive + rm -f $(INSTDIR)/include/m_pd.h + rm -f $(MANINSTDIR)/man1/pd.1.gz + rm -f $(MANINSTDIR)/man1/pdsend.1.gz + rm -f $(MANINSTDIR)/man1/pdreceive.1.gz + +include makefile.dependencies + + + + + + + |