@@ -36,24 +36,39 @@ _STRIP = $(CROSS)$(STRIP)
3636SRC = language_gdnative.c
3737OBJS = $(SRC:.c=.o ) init_script.o
3838BUILT_OBJS = $(addprefix build/% /,$(OBJS ) )
39- MAKE_LUAJIT_OUTPUT = build/%/luajit/src/luajit.o build/%/luajit/src/lua51.dll build/%/luajit/src/libluajit.a
39+ LUAJIT_MAKE_OUTPUT = build/%/luajit/src/luajit.o build/%/luajit/src/lua51.dll build/%/luajit/src/libluajit.a
40+
41+ PLUGIN_SRC = plugin/export_plugin.lua \
42+ plugin/in_editor_callbacks/.gdignore \
43+ plugin/in_editor_callbacks/init.lua \
44+ plugin/lua_repl.lua \
45+ plugin/lua_repl.tscn \
46+ plugin/luasrcdiet/.gdignore \
47+ plugin/plugin.cfg \
48+ plugin/plugin.gd
4049
4150GDNLIB_ENTRY_PREFIX = addons/godot-lua-pluginscript
4251BUILD_FOLDERS = \
43- build build/native build/$(GDNLIB_ENTRY_PREFIX ) \
52+ build build/native build/$(GDNLIB_ENTRY_PREFIX ) build/jit \
4453 build/windows_x86 build/windows_x86_64 \
4554 build/linux_x86 build/linux_x86_64 \
4655 build/osx_x86_64 build/osx_arm64 build/osx_arm64_x86_64 \
4756 build/ios_armv7s build/ios_arm64 build/ios_simulator_arm64 build/ios_simulator_x86_64 build/ios_simulator_arm64_x86_64 \
4857 build/android_armv7a build/android_aarch64 build/android_x86 build/android_x86_64
4958
59+ LUAJIT_JITLIB_SRC = bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \
60+ dis_x86.lua dis_x64.lua dis_arm.lua dis_arm64.lua \
61+ dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua \
62+ dis_mips64.lua dis_mips64el.lua vmdef.lua
63+ LUAJIT_JITLIB_DEST = $(addprefix build/jit/,$(LUAJIT_JITLIB_SRC ) )
64+
5065LUASRCDIET_SRC = $(wildcard lib/luasrcdiet/luasrcdiet/* .lua) lib/luasrcdiet/COPYRIGHT lib/luasrcdiet/COPYRIGHT_Lua51
5166LUASRCDIET_DEST = $(addprefix plugin/luasrcdiet/,$(notdir $(LUASRCDIET_SRC ) ) )
5267LUASRCDIET_FLAGS = --maximum --quiet --noopt-binequiv
5368
5469DIST_BUILT_LIBS = $(filter-out build/osx_arm64/% build/osx_x86_64/% build/ios_simulator_arm64/% build/ios_simulator_x86_64/% ,$(wildcard build/* /* lua* .* ) )
5570DIST_SRC = LICENSE
56- DIST_ADDONS_SRC = LICENSE lps_coroutine.lua lua_pluginscript.gdnlib build/.gdignore $(wildcard build/jit/ * .lua plugin/ * . * plugin/in_editor_callbacks/ * plugin/ * /.gdignore ) $(DIST_BUILT_LIBS ) $(LUASRCDIET_DEST )
71+ DIST_ADDONS_SRC = LICENSE lps_coroutine.lua lua_pluginscript.gdnlib build/.gdignore $(PLUGIN_SRC ) $(DIST_BUILT_LIBS ) $(LUASRCDIET_DEST ) $( LUAJIT_JITLIB_DEST )
5772DIST_ZIP_SRC = $(DIST_SRC ) $(addprefix $(GDNLIB_ENTRY_PREFIX ) /,$(DIST_ADDONS_SRC ) )
5873DIST_DEST = $(addprefix build/,$(DIST_SRC ) ) $(addprefix build/$(GDNLIB_ENTRY_PREFIX ) /,$(DIST_ADDONS_SRC ) )
5974
@@ -126,24 +141,29 @@ test-$1: $1 $(LUASRCDIET_DEST) $(DIST_DEST) build/project.godot
126141endef
127142
128143# Avoid removing intermediate files created by chained implicit rules
129- .PRECIOUS : build/% /luajit build/% /init_script.c $(BUILT_OBJS ) build/% /lua51.dll $(MAKE_LUAJIT_OUTPUT )
144+ .PRECIOUS : build/% /luajit build/% /init_script.c $(BUILT_OBJS ) build/% /lua51.dll $(LUAJIT_MAKE_OUTPUT )
130145
131146$(BUILD_FOLDERS ) :
132147 mkdir -p $@
133148
134149build/% /language_gdnative.o : src/language_gdnative.c lib/high-level-gdnative/hgdn.h
135150 $(_CC ) -o $@ $< -c $(CFLAGS )
136151
137- $(MAKE_LUAJIT_OUTPUT ) : | build/% /luajit build/jit
152+ $(LUAJIT_MAKE_OUTPUT ) : | build/% /luajit
138153 $(MAKE ) -C $(firstword $|) $(and $(TARGET_SYS ) ,TARGET_SYS=$(TARGET_SYS ) ) $(MAKE_LUAJIT_ARGS )
139- @mkdir -p build/jit
140- cp $(firstword $|) /src/ jit/vmdef.lua build/jit
154+ build/ % /luajit/src/jit/vmdef.lua : | build/% /luajit
155+ $( MAKE ) -C $(firstword $|) /src jit/vmdef.lua $( MAKE_LUAJIT_ARGS )
141156build/% /lua51.dll : build/% /luajit/src/lua51.dll
142157 cp $< $@
143158build/% /luajit : | build/%
144159 cp -r lib/luajit $@
145- build/jit : | build
146- cp -r lib/luajit/src/jit/ $@
160+
161+ build/jit/vmdef.lua : MACOSX_DEPLOYMENT_TARGET ?= 11.0
162+ build/jit/vmdef.lua : MAKE_LUAJIT_ARGS = MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET )
163+ build/jit/vmdef.lua : build/native/luajit/src/jit/vmdef.lua | build/jit
164+ cp $< $@
165+ build/jit/% .lua : lib/luajit/src/jit/% .lua | build/jit
166+ cp $< $@
147167
148168build/init_script.lua : $(LUA_INIT_SCRIPT_SRC ) | build
149169 cat $^ > $@
@@ -192,7 +212,7 @@ build/$(GDNLIB_ENTRY_PREFIX)/%:
192212 cp $* $@
193213$(addprefix build/,$(DIST_SRC ) ) : | build
194214 cp $(notdir $@ ) $@
195- build/lua_pluginscript.zip : $(LUASRCDIET_DEST ) $(DIST_DEST )
215+ build/lua_pluginscript.zip : $(LUASRCDIET_DEST ) $(LUAJIT_JITLIB_DEST ) $( DIST_DEST )
196216 cd build && zip lua_pluginscript $(DIST_ZIP_SRC )
197217build/project.godot : src/tools/project.godot | build
198218 cp $< $@
0 commit comments