diff options
Diffstat (limited to 'pd/src/makefile')
-rw-r--r-- | pd/src/makefile | 134 |
1 files changed, 131 insertions, 3 deletions
diff --git a/pd/src/makefile b/pd/src/makefile index 62e5f34b..8b7a7246 100644 --- a/pd/src/makefile +++ b/pd/src/makefile @@ -1,3 +1,131 @@ -all: - ./configure - make +# Makefile for PD on MSW + +all: pd gui ..\bin\pd.tk ..\bin\pdsend.exe ..\bin\pdreceive.exe + +VC = "C:\Program Files\Microsoft Visual Studio\VC98" +#VC="\Program Files\DevStudio\Vc" +INCLUDE = -I.\ -I..\Tcl\include -I$(VC)\include + +LDIR = $(VC)\lib + +LIB = /NODEFAULTLIB:libc /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel \ + /NODEFAULTLIB:uuid \ + $(LDIR)\libc.lib $(LDIR)\oldnames.lib $(LDIR)\kernel32.lib \ + $(LDIR)\wsock32.lib $(LDIR)\winmm.lib ..\bin\pthreadVC.lib + +GLIB = $(LIB) ..\bin\tcl83.lib ..\bin\tk83.lib +CFLAGS = /nologo /W3 /DMSW /DNT /DPD /DPD_INTERNAL /DWIN32 /DWINDOWS /Ox \ + -DPA_LITTLE_ENDIAN -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO +LFLAGS = /nologo + +SYSSRC = s_audio_pa.c s_audio_mmio.c s_midi_pm.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) + +PADIR = ..\portaudio +INCPA = -I$(PADIR) -I$(PADIR)\pa_common -I$(PADIR)\pablio -I..\lib\asio +SRCPA = $(PADIR)/pa_common/pa_lib.c $(PADIR)/pa_common/pa_trace.c \ + $(PADIR)/pablio/pablio_pd.c $(PADIR)/pablio/ringbuffer_pd.c +SRCASIO = $(PADIR)/pa_asio/pa_asio.cpp + +ASIOLIB = $(LDIR)\user32.lib $(LDIR)\gdi32.lib $(LDIR)\winspool.lib $(LDIR)\comdlg32.lib \ +$(LDIR)\advapi32.lib $(LDIR)\shell32.lib $(LDIR)\ole32.lib $(LDIR)\oleaut32.lib $(LDIR)\uuid.lib \ +$(LDIR)\odbc32.lib $(LDIR)\odbccp32.lib ..\lib\asio\asiolib.lib + + +PAOBJ = pa_lib.obj pa_trace.obj pablio_pd.obj ringbuffer_pd.obj pa_asio.obj + +PMDIR = ..\portmidi +INCPM = -I$(PMDIR)\pm_common -I$(PMDIR)\pm_win -I$(PMDIR)\porttime +SRCPM = \ + $(PMDIR)/pm_common/portmidi.c \ + $(PMDIR)/pm_common/pmutil.c \ + $(PMDIR)/pm_win/pmwin.c \ + $(PMDIR)/pm_win/pmwinmm.c \ + $(PMDIR)/porttime/porttime.c \ + $(PMDIR)/porttime/ptwinmm.c \ + +PMOBJ = portmidi.obj pmutil.obj pmwin.obj pmwinmm.obj porttime.obj ptwinmm.obj + +OBJC = $(SRC:.c=.obj) $(PAOBJ) $(PMOBJ) + +GSRC = t_main.c t_tkcmd.c + +GOBJ = $(GSRC:.c=.obj) +.PHONY: pd gui + +ALLCF = $(CFLAGS) $(INCLUDE) $(INCASIO) $(INCPA) $(INCPM) /D_WINDOWS /DPA_NO_DS + +.c.obj: + cl /c $(ALLCF) /Tc$*.c + +pd: ..\bin\pd.exe + +gui: ..\bin\pdtcl.dll + +..\bin\pd.exe: s_entry.obj ..\bin\pd.lib + link $(LFLAGS) /out:..\bin\pd.exe /INCREMENTAL:NO s_entry.obj \ + ..\bin\pd.lib $(LIB) $(ASIOLIB) + +..\bin\pd.dll ..\bin\pd.lib: $(OBJC) $(OBJASIO) + link $(LFLAGS) /dll /export:sys_main /out:..\bin\pd.dll $(OBJC) \ + $(OBJASIO) $(LIB) $(ASIOLIB) + +..\bin\pdtcl.dll: t_tkcmd.obj + link $(LFLAGS) /dll /export:Pdtcl_Init /out:..\bin\pdtcl.dll \ + t_tkcmd.obj $(GLIB) + +..\bin\pd.tk: u_main.tk; copy u_main.tk ..\bin\pd.tk + +..\bin\pdsend.exe: u_pdsend.obj + link $(LFLAGS) /out:..\bin\pdsend.exe /INCREMENTAL:NO u_pdsend.obj \ + $(LIB) + +..\bin\pdreceive.exe: u_pdreceive.obj + link $(LFLAGS) /out:..\bin\pdreceive.exe /INCREMENTAL:NO u_pdreceive.obj \ + $(LIB) + +# explicit rules to compile portaudio and portmidi sources: +pa_lib.obj: $(PADIR)\pa_common\pa_lib.c + cl /c $(ALLCF) $(PADIR)\pa_common\pa_lib.c +pa_trace.obj: $(PADIR)\pa_common\pa_trace.c + cl /c $(ALLCF) $(PADIR)\pa_common\pa_trace.c +pablio_pd.obj: $(PADIR)\pablio\pablio_pd.c + cl /c $(ALLCF) $(PADIR)\pablio\pablio_pd.c +ringbuffer_pd.obj: $(PADIR)\pablio\ringbuffer_pd.c + cl /c $(ALLCF) $(PADIR)\pablio\ringbuffer_pd.c + +pa_asio.obj: $(PADIR)\pa_asio\pa_asio.cpp + cl /c $(ALLCF) $(PADIR)\pa_asio\pa_asio.cpp + +portmidi.obj: $(PMDIR)\pm_common\portmidi.c + cl /c $(ALLCF) $(PMDIR)\pm_common\portmidi.c +pmutil.obj: $(PMDIR)\pm_common\pmutil.c + cl /c $(ALLCF) $(PMDIR)\pm_common\pmutil.c +pmwin.obj: $(PMDIR)\pm_win\pmwin.c + cl /c $(ALLCF) $(PMDIR)\pm_win\pmwin.c +pmwinmm.obj: $(PMDIR)\pm_win\pmwinmm.c + cl /c $(ALLCF) $(PMDIR)\pm_win\pmwinmm.c +porttime.obj: $(PMDIR)\porttime\porttime.c + cl /c $(ALLCF) $(PMDIR)\porttime\porttime.c +ptwinmm.obj: $(PMDIR)\porttime\ptwinmm.c + cl /c $(ALLCF) $(PMDIR)\porttime\ptwinmm.c + +# the following should also clean up "bin" but it doesn't because "bin" holds +# precious stuff from elsewhere. +clean: + del *.obj + |