7 FLAGS=-D__MACOSX_CORE__ -c
8 LIBS=-framework CoreAudio -framework CoreMIDI -framework CoreFoundation \
9 -framework IOKit -framework Carbon -lstdc++ -lm
12 ifneq ($(CHUCK_STAT),)
13 FLAGS+= -D__CHUCK_STAT_TRACK__
16 ifneq ($(CHUCK_DEBUG),)
22 ifneq ($(CHUCK_STRICT),)
26 #-----------------------------------------------------------------------------
27 # by default, ChucK uses a pre-configured libsndfile...
28 # uncomment the next 3 lines to use libsndfile on your system
29 #-----------------------------------------------------------------------------
30 #FLAGS+= -D__CK_SNDFILE_NATIVE__
34 OBJS= chuck.tab.o chuck.yy.o chuck_absyn.o chuck_parse.o chuck_errmsg.o \
35 chuck_frame.o chuck_symbol.o chuck_table.o chuck_utils.o \
36 chuck_vm.o chuck_instr.o chuck_scan.o chuck_type.o chuck_emit.o \
37 chuck_compile.o chuck_dl.o chuck_oo.o chuck_lang.o chuck_ugen.o \
38 chuck_main.o chuck_otf.o chuck_stats.o chuck_bbq.o chuck_shell.o \
39 chuck_console.o chuck_globals.o digiio_rtaudio.o hidio_sdl.o \
40 midiio_rtmidi.o rtaudio.o rtmidi.o ugen_osc.o ugen_filter.o \
41 ugen_stk.o ugen_xxx.o ulib_machine.o ulib_math.o ulib_std.o \
42 ulib_opsc.o util_buffers.o util_console.o util_math.o util_network.o \
43 util_raw.o util_string.o util_thread.o util_xforms.o util_opsc.o \
44 util_hid.o uana_xform.o uana_extract.o $(SF_OBJ)
47 $(CXX_LINK) -o chuck $(OBJS) $(LIBS)
49 chuck.tab.o: chuck.tab.c
50 $(CXX) $(FLAGS) chuck.tab.c
53 $(YACC) -dv -b chuck chuck.y
55 chuck.tab.h: chuck.tab.c
56 echo "chuck.tab.h was created at the same time as chuck.tab.c"
58 chuck.yy.o: chuck.yy.c chuck.tab.h chuck_errmsg.h chuck_utils.h
59 $(CXX) $(FLAGS) chuck.yy.c
62 $(LEX) -ochuck.yy.c chuck.lex
64 chuck_absyn.o: chuck_absyn.cpp chuck_absyn.h chuck_utils.h chuck_symbol.h
65 $(CXX) $(FLAGS) chuck_absyn.cpp
67 chuck_parse.o: chuck_parse.h chuck_parse.cpp
68 $(CXX) $(FLAGS) chuck_parse.cpp
70 chuck_scan.o: chuck_type.h chuck_scan.h chuck_scan.cpp
71 $(CXX) $(FLAGS) chuck_scan.cpp
73 chuck_type.o: chuck_type.cpp chuck_type.h chuck_absyn.h chuck_oo.h chuck_vm.h chuck_instr.h
74 $(CXX) $(FLAGS) chuck_type.cpp
76 chuck_emit.o: chuck_emit.cpp chuck_emit.h chuck_type.h chuck_instr.h chuck_vm.h
77 $(CXX) $(FLAGS) chuck_emit.cpp
79 chuck_compile.o: chuck_compile.h chuck_compile.cpp
80 $(CXX) $(FLAGS) chuck_compile.cpp
82 chuck_symbol.o: chuck_symbol.cpp chuck_symbol.h chuck_table.h chuck_utils.h
83 $(CXX) $(FLAGS) chuck_symbol.cpp
85 chuck_frame.o: chuck_frame.h chuck_frame.cpp
86 $(CXX) $(FLAGS) chuck_frame.cpp
88 chuck_errmsg.o: chuck_errmsg.cpp chuck_errmsg.h chuck_utils.h
89 $(CXX) $(FLAGS) chuck_errmsg.cpp
91 chuck_utils.o: chuck_utils.cpp chuck_utils.h
92 $(CXX) $(FLAGS) chuck_utils.cpp
94 chuck_table.o: chuck_table.cpp chuck_table.h chuck_utils.h
95 $(CXX) $(FLAGS) chuck_table.cpp
97 chuck_instr.o: chuck_instr.h chuck_instr.cpp chuck_type.h chuck_vm.h
98 $(CXX) $(FLAGS) chuck_instr.cpp
100 chuck_vm.o: chuck_vm.h chuck_vm.cpp chuck_instr.h chuck_oo.h chuck_type.h
101 $(CXX) $(FLAGS) chuck_vm.cpp
103 chuck_oo.o: chuck_oo.h chuck_oo.cpp
104 $(CXX) $(FLAGS) chuck_oo.cpp
106 chuck_lang.o: chuck_lang.h chuck_lang.cpp chuck_oo.h
107 $(CXX) $(FLAGS) chuck_lang.cpp
109 chuck_ugen.o: chuck_ugen.cpp chuck_ugen.h chuck_def.h
110 $(CXX) $(FLAGS) chuck_ugen.cpp
112 chuck_dl.o: chuck_dl.h chuck_dl.cpp
113 $(CXX) $(FLAGS) chuck_dl.cpp
115 chuck_otf.o: chuck_otf.h chuck_otf.cpp
116 $(CXX) $(FLAGS) chuck_otf.cpp
118 chuck_stats.o: chuck_stats.h chuck_stats.cpp
119 $(CXX) $(FLAGS) chuck_stats.cpp
121 chuck_bbq.o: chuck_bbq.cpp chuck_bbq.h midiio_rtmidi.h
122 $(CXX) $(FLAGS) chuck_bbq.cpp
124 chuck_shell.o: chuck_shell.h chuck_shell.cpp
125 $(CXX) $(FLAGS) chuck_shell.cpp
127 chuck_console.o: chuck_console.h chuck_console.cpp
128 $(CXX) $(FLAGS) chuck_console.cpp
130 chuck_globals.o: chuck_globals.h chuck_globals.cpp
131 $(CXX) $(FLAGS) chuck_globals.cpp
133 chuck_main.o: chuck_main.cpp chuck_absyn.h chuck_type.h chuck_emit.h chuck_vm.h chuck_errmsg.h chuck_utils.h
134 $(CXX) $(FLAGS) chuck_main.cpp
136 digiio_rtaudio.o: digiio_rtaudio.h digiio_rtaudio.cpp rtaudio.h
137 $(CXX) $(FLAGS) digiio_rtaudio.cpp
139 hidio_sdl.o: hidio_sdl.h hidio_sdl.cpp
140 $(CXX) $(FLAGS) hidio_sdl.cpp
142 midiio_rtmidi.o: midiio_rtmidi.h midiio_rtmidi.cpp
143 $(CXX) $(FLAGS) midiio_rtmidi.cpp
145 rtaudio.o: rtaudio.h rtaudio.cpp rterror.h
146 $(CXX) $(FLAGS) rtaudio.cpp
148 rtmidi.o: rtmidi.h rtmidi.cpp
149 $(CXX) $(FLAGS) rtmidi.cpp
151 ugen_osc.o: ugen_osc.h ugen_osc.cpp
152 $(CXX) $(FLAGS) ugen_osc.cpp
154 ugen_xxx.o: ugen_xxx.h ugen_xxx.cpp
155 $(CXX) $(FLAGS) ugen_xxx.cpp
157 ugen_filter.o: ugen_filter.h ugen_filter.cpp
158 $(CXX) $(FLAGS) ugen_filter.cpp
160 ugen_stk.o: ugen_stk.h ugen_stk.cpp
161 $(CXX) $(FLAGS) ugen_stk.cpp
163 ulib_machine.o: ulib_machine.h ulib_machine.cpp
164 $(CXX) $(FLAGS) ulib_machine.cpp
166 ulib_math.o: ulib_math.h ulib_math.cpp
167 $(CXX) $(FLAGS) ulib_math.cpp
169 ulib_std.o: ulib_std.h ulib_std.cpp
170 $(CXX) $(FLAGS) ulib_std.cpp
172 ulib_opsc.o: ulib_opsc.h ulib_opsc.cpp
173 $(CXX) $(FLAGS) ulib_opsc.cpp
175 util_buffers.o: util_buffers.h util_buffers.cpp
176 $(CXX) $(FLAGS) util_buffers.cpp
178 util_console.o: util_console.h util_console.cpp chuck_shell.h
179 $(CXX) $(FLAGS) util_console.cpp
181 util_hid.o: util_hid.h util_hid.cpp
182 $(CXX) $(FLAGS) util_hid.cpp
184 util_math.o: util_math.h util_math.c
185 $(CXX) $(FLAGS) util_math.c
187 util_network.o: util_network.h util_network.c
188 $(CXX) $(FLAGS) util_network.c
190 util_opsc.o: util_opsc.h util_opsc.cpp
191 $(CXX) $(FLAGS) util_opsc.cpp
193 util_raw.o: util_raw.h util_raw.c
194 $(CXX) $(FLAGS) util_raw.c
196 util_string.o: util_string.h util_string.cpp
197 $(CXX) $(FLAGS) util_string.cpp
199 util_thread.o: util_thread.h util_thread.cpp
200 $(CXX) $(FLAGS) util_thread.cpp
202 util_xforms.o: util_xforms.h util_xforms.c
203 $(CXX) $(FLAGS) util_xforms.c
205 util_sndfile.o: util_sndfile.h util_sndfile.c
206 $(CXX) $(FLAGS) util_sndfile.c
208 uana_xform.o: uana_xform.h uana_xform.cpp
209 $(CXX) $(FLAGS) uana_xform.cpp
211 uana_extract.o: uana_extract.h uana_extract.cpp
212 $(CXX) $(FLAGS) uana_extract.cpp
215 rm -f chuck *~ *.o chuck.output chuck.tab.h chuck.tab.c chuck.yy.c