diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8df8f8f..92d28fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,4 +46,4 @@ jobs: - name: Build NishBox run: make PLATFORM=win${{env.BITS}} - name: Copy DLL - run: cp `${{env.ARCH}}-w64-mingw32-gcc -print-file-name=libstdc++-6.dll` ./ && cp `${{env.ARCH}}-w64-mingw32-gcc -print-file-name=libstdc++-6.dll | sed -E 's/\/libstdc\+\+-6\.dll$//g'`/libgcc_*.dll ./ && cp deps/bin/*.dll ./ + run: cp `make PLATFORM=win${{env.BITS}} print-deps` ./ diff --git a/Makefile b/Makefile index 61b9c24..b184aaa 100644 --- a/Makefile +++ b/Makefile @@ -3,11 +3,12 @@ include mk/p_*.mk AR = $(TARGET_PREFIX)ar CC = $(TARGET_PREFIX)gcc +OBJDUMP = $(TARGET_PREFIX)objdump CFLAGS = -g -D_DEFAULT_SOURCE -DUSE_$(BACKEND) -I../engine $(ODE_CFLAGS) $(AMX_CFLAGS) $(PAWNC_CFLAGS) $(GL_CFLAGS) LDFLAGS = LIBS = $(ODE_LIBS) $(AMX_LIBS) $(PAWNC_LIBS) $(GL_LIBS) -.PHONY: all format clean ./engine ./src +.PHONY: all format clean ./engine ./src print-deps all: ./src @@ -20,6 +21,9 @@ format: ./src:: ./engine $(MAKE) -C $@ +print-deps: + @sh deps.sh + clean: $(MAKE) -C ./engine clean $(MAKE) -C ./src clean diff --git a/deps.sh b/deps.sh new file mode 100755 index 0000000..d52cb1f --- /dev/null +++ b/deps.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +solve () { + path="" + $OBJDUMP -p $1 | grep "DLL Name:" | rev | cut -d" " -f1 | rev | while read a; do + if [ -e "./deps/bin/$a" ]; then + path="./deps/bin/$a" + else + path="`$CC -print-file-name=$a`" + fi + if [ ! "x$path" = "x" ]; then + if [ -e "$path" ]; then + echo $path + solve $path + fi + fi + done +} + +solve src/nishbox.exe