@@ -132,9 +132,9 @@ ifneq (,$(CODE_SIGN_IDENTITY))
132132endif
133133
134134define GEN_TEST
135- test-$1: $1 $(LUASRCDIET_DEST ) $(LUAJIT_JITLIB_DEST ) $(DIST_DEST ) build/project.godot
136- @mkdir -p $( dir build/addons/godot-lua-pluginscript/$2)
137- cp $2 build/addons/godot-lua-pluginscript/$2
135+ test-$1: $1 $(addprefix $2/, $3) $( LUASRCDIET_DEST ) $(LUAJIT_JITLIB_DEST ) $(DIST_DEST ) build/project.godot
136+ @mkdir -p build/addons/godot-lua-pluginscript/$2
137+ cp $( addprefix $2/, $3) build/addons/godot-lua-pluginscript/$2
138138 $(GODOT_BIN ) --path build --no-window --quit --script "$(CURDIR ) /src/test/init.lua"
139139endef
140140
@@ -177,7 +177,6 @@ build/%/liblua_pluginscript.so: $(BUILT_OBJS) build/%/luajit/src/libluajit.a
177177 $(call STRIP_CMD,$@ )
178178
179179build/% /lua_pluginscript.dll : TARGET_SYS = Windows
180- build/% /lua_pluginscript.dll : EXE = .exe
181180build/% /lua_pluginscript.dll : $(BUILT_OBJS ) build/% /lua51.dll
182181 $(_CC ) -o $@ $^ -shared $(CFLAGS ) $(LDFLAGS )
183182 $(call STRIP_CMD,$@ )
@@ -217,6 +216,15 @@ build/compile_commands.json: Makefile
217216 echo ' [{"directory":"$(CURDIR)","file":"src/language_gdnative.c","command":"$(subst ",\",$(COMPILE_COMMAND))"}]' > $@
218217
219218
219+ build/% /test_cmodule.so : src/test/test_cmodule.c
220+ $(_CC ) -o $@ $^ -shared $(CFLAGS ) $(LDFLAGS )
221+ build/% /test_cmodule.dll : src/test/test_cmodule.c build/% /lua51.dll
222+ $(_CC ) -o $@ $^ -shared $(CFLAGS ) $(LDFLAGS )
223+ build/% /test_cmodule.dylib : LDFLAGS += -Wl,-undefined,dynamic_lookup
224+ build/% /test_cmodule.dylib : src/test/test_cmodule.c
225+ $(_CC ) -o $@ $^ -shared $(CFLAGS ) $(LDFLAGS )
226+
227+
220228# Phony targets
221229.PHONY : clean dist docs set-version unzip-to-build update-copyright-year
222230clean :
@@ -261,26 +269,28 @@ compdb: compilation-database
261269linux32 : MAKE_LUAJIT_ARGS += CC="$(CC ) -m32 -fPIC"
262270linux32 : CFLAGS += -m32 -fPIC
263271linux32 : build/linux_x86/liblua_pluginscript.so
264- $(eval $(call GEN_TEST,linux32,build/linux_x86/ liblua_pluginscript.so))
272+ $(eval $(call GEN_TEST,linux32,build/linux_x86, liblua_pluginscript.so test_cmodule .so))
265273
266274linux64 : MAKE_LUAJIT_ARGS += CC="$(CC ) -fPIC"
267275linux64 : CFLAGS += -fPIC
268276linux64 : build/linux_x86_64/liblua_pluginscript.so
269- $(eval $(call GEN_TEST,linux64,build/linux_x86_64/ liblua_pluginscript.so))
277+ $(eval $(call GEN_TEST,linux64,build/linux_x86_64, liblua_pluginscript.so test_cmodule .so))
270278
271279windows32 : build/windows_x86/lua_pluginscript.dll
272- $(eval $(call GEN_TEST,windows32,build/windows_x86/ lua_pluginscript.dll))
280+ $(eval $(call GEN_TEST,windows32,build/windows_x86, lua_pluginscript.dll lua51.dll test_cmodule .dll))
273281mingw-windows32 : CROSS = i686-w64-mingw32-
274282mingw-windows32 : MAKE_LUAJIT_ARGS += HOST_CC="$(CC ) -m32" CROSS="$(CROSS ) " LDFLAGS=-static-libgcc
275283mingw-windows32 : windows32
276- $(eval $(call GEN_TEST,mingw-windows32,build/windows_x86/lua_pluginscript.dll))
284+ test-mingw-windows32 : CROSS = i686-w64-mingw32-
285+ $(eval $(call GEN_TEST,mingw-windows32,build/windows_x86,lua_pluginscript.dll lua51.dll test_cmodule.dll))
277286
278287windows64 : build/windows_x86_64/lua_pluginscript.dll
279- $(eval $(call GEN_TEST,windows64,build/windows_x86_64/ lua_pluginscript.dll))
288+ $(eval $(call GEN_TEST,windows64,build/windows_x86_64, lua_pluginscript.dll lua51.dll test_cmodule .dll))
280289mingw-windows64 : CROSS = x86_64-w64-mingw32-
281290mingw-windows64 : MAKE_LUAJIT_ARGS += HOST_CC="$(CC ) " CROSS="$(CROSS ) " LDFLAGS=-static-libgcc
282291mingw-windows64 : windows64
283- $(eval $(call GEN_TEST,mingw-windows64,build/windows_x86_64/lua_pluginscript.dll))
292+ test-mingw-windows64 : CROSS = x86_64-w64-mingw32-
293+ $(eval $(call GEN_TEST,mingw-windows64,build/windows_x86_64,lua_pluginscript.dll lua51.dll test_cmodule.dll))
284294
285295osx-x86_64 : MACOSX_DEPLOYMENT_TARGET ?= 10.7
286296osx-x86_64 : _ADD_CFLAGS = -isysroot '$(shell xcrun --sdk macosx --show-sdk-path) ' -arch x86_64
@@ -295,7 +305,7 @@ osx-arm64: MAKE_LUAJIT_ARGS += TARGET_FLAGS="$(_ADD_CFLAGS)" MACOSX_DEPLOYMENT_T
295305osx-arm64 : build/osx_arm64/lua_pluginscript.dylib
296306
297307osx64 : osx-x86_64 osx-arm64 build/osx_arm64_x86_64/lua_pluginscript.dylib
298- $(eval $(call GEN_TEST,osx64,build/osx_arm64_x86_64/ lua_pluginscript.dylib))
308+ $(eval $(call GEN_TEST,osx64,build/osx_arm64_x86_64, lua_pluginscript.dylib test_cmodule .dylib))
299309
300310# Note: newer OSX systems can't run i386 apps, so LuaJIT can't build properly with the current Makefile
301311# ios-armv7s: _ADD_CFLAGS = -isysroot "$(shell xcrun --sdk iphoneos --show-sdk-path)" -arch armv7s -miphoneos-version-min=$(IOS_VERSION_MIN)
0 commit comments