1212 $CXXFLAGS << ' -march=native -mtune=native'
1313end
1414
15- def with_disabling_unsupported_files
16- disabled_files = [ ]
17-
18- unless $GGML_METAL
19- disabled_files << 'ggml-metal.h' << 'ggml-metal.m'
20- end
21-
22- unless $GGML_METAL_EMBED_LIBRARY
23- disabled_files << 'ggml-metal.metal'
24- end
25-
26- unless $OBJ_ALL&.include? 'ggml-blas.o'
27- disabled_files << 'ggml-blas.h' << 'ggml-blas.cpp'
28- end
29-
30- disabled_files . filter! { |file | File . exist? file }
31-
32- disabled_files . each do |file |
33- File . rename file , "#{ file } .disabled"
34- end
35-
36- yield
37-
38- disabled_files . each do |file |
39- File . rename "#{ file } .disabled" , file
40- end
41- end
42-
4315if ENV [ 'WHISPER_METAL' ]
4416 $GGML_METAL ||= true
4517 $DEPRECATE_WARNING ||= true
@@ -66,10 +38,10 @@ def with_disabling_unsupported_files
6638$MK_NVCCFLAGS = '-std=c++11'
6739$MK_LDFLAGS = ''
6840
69- $OBJ_GGML = ''
70- $OBJ_WHISPER = ''
71- $OBJ_COMMON = ''
72- $OBJ_SDL = ''
41+ $OBJ_GGML = [ ]
42+ $OBJ_WHISPER = [ ]
43+ $OBJ_COMMON = [ ]
44+ $OBJ_SDL = [ ]
7345
7446$MK_CPPFLAGS << ' -D_XOPEN_SOURCE=600'
7547
@@ -152,50 +124,51 @@ def with_disabling_unsupported_files
152124 $MK_CPPFLAGS << ' -DACCELERATE_NEW_LAPACK'
153125 $MK_CPPFLAGS << ' -DACCELERATE_LAPACK_ILP64'
154126 $MK_LDFLAGS << ' -framework Accelerate'
155- $OBJ_GGML << ' ggml-blas.o'
127+ $OBJ_GGML << 'ggml-blas.o'
156128 end
157129end
158130
159131if ENV [ 'GGML_OPENBLAS' ]
160132 $MK_CPPFLAGS << " -DGGML_USE_BLAS #{ `pkg-config --cflags-only-I openblas` . chomp } "
161133 $MK_CFLAGS << " #{ `pkg-config --cflags-only-other openblas)` . chomp } "
162134 $MK_LDFLAGS << " #{ `pkg-config --libs openblas` } "
163- $OBJ_GGML << ' ggml-blas.o'
135+ $OBJ_GGML << 'ggml-blas.o'
164136end
165137
166138if ENV [ 'GGML_OPENBLAS64' ]
167139 $MK_CPPFLAGS << " -DGGML_USE_BLAS #{ `pkg-config --cflags-only-I openblas64` . chomp } "
168140 $MK_CFLAGS << " #{ `pkg-config --cflags-only-other openblas64)` . chomp } "
169141 $MK_LDFLAGS << " #{ `pkg-config --libs openblas64` } "
170- $OBJ_GGML << ' ggml-blas.o'
142+ $OBJ_GGML << 'ggml-blas.o'
171143end
172144
173145if $GGML_METAL
174146 $MK_CPPFLAGS << ' -DGGML_USE_METAL'
175147 $MK_LDFLAGS << ' -framework Foundation -framework Metal -framework MetalKit'
176- $OBJ_GGML << ' ggml-metal.o'
148+ $OBJ_GGML << 'ggml-metal.o'
177149
178150 if ENV [ 'GGML_METAL_NDEBUG' ]
179151 $MK_CPPFLAGS << ' -DGGML_METAL_NDEBUG'
180152 end
181153
182154 if $GGML_METAL_EMBED_LIBRARY
183155 $MK_CPPFLAGS << ' -DGGML_METAL_EMBED_LIBRARY'
184- $OBJ_GGML << ' ggml-metal-embed.o'
156+ $OBJ_GGML << 'ggml-metal-embed.o'
185157 end
186158end
187159
188160$OBJ_GGML <<
189- ' ggml.o' <<
190- ' ggml-alloc.o' <<
191- ' ggml-backend.o' <<
192- ' ggml-quants.o' <<
193- ' ggml-aarch64.o'
161+ 'ggml.o' <<
162+ 'ggml-alloc.o' <<
163+ 'ggml-backend.o' <<
164+ 'ggml-quants.o' <<
165+ 'ggml-aarch64.o'
194166
195167$OBJ_WHISPER <<
196- ' whisper.o'
168+ 'whisper.o'
197169
198- $OBJ_ALL = "#{ $OBJ_GGML} #{ $OBJ_WHISPER} #{ $OBJ_COMMON} #{ $OBJ_SDL} "
170+ $objs = $OBJ_GGML + $OBJ_WHISPER + $OBJ_COMMON + $OBJ_SDL
171+ $objs << "ruby_whisper.o"
199172
200173$CPPFLAGS = "#{ $MK_CPPFLAGS} #{ $CPPFLAGS} "
201174$CFLAGS = "#{ $CPPFLAGS} #{ $MK_CFLAGS} #{ $GF_CFLAGS} #{ $CFLAGS} "
@@ -204,26 +177,13 @@ def with_disabling_unsupported_files
204177$NVCCFLAGS = "#{ $MK_NVCCFLAGS} #{ $NVCCFLAGS} "
205178$LDFLAGS = "#{ $MK_LDFLAGS} #{ $LDFLAGS} "
206179
207- if $GGML_METAL_EMBED_LIBRARY
208- File . write 'depend' , "$(OBJS): $(OBJS) ggml-metal-embed.o\n "
209- end
210-
211- with_disabling_unsupported_files do
212-
213- create_makefile ( 'whisper' )
214-
215- end
180+ create_makefile ( 'whisper' )
216181
217182File . open 'Makefile' , 'a' do |file |
218183 file . puts 'include get-flags.mk'
219184
220185 if $GGML_METAL
221186 if $GGML_METAL_EMBED_LIBRARY
222- # mkmf determines object files to compile dependent on existing *.{c,cpp,m} files
223- # but ggml-metal-embed.c doesn't exist on creating Makefile.
224- file . puts "objs := $(OBJS)"
225- file . puts "OBJS = $(objs) 'ggml-metal-embed.o'"
226-
227187 file . puts 'include metal-embed.mk'
228188 end
229189 end
0 commit comments