Commit cdef3bbd authored by Nicolas "Norswap" Laurent's avatar Nicolas "Norswap" Laurent Committed by norswap

avoiding re-running make in unicorn dir when nothing has changed

parent 9982d5ad
SHELL := /bin/bash SHELL := /bin/bash
build: submodules unicorn minigeth_mips minigeth_prefetch mipsevm contracts build: submodules libunicorn minigeth_mips minigeth_prefetch mipsevm contracts
.PHONY: build .PHONY: build
submodules: submodules:
...@@ -11,22 +11,28 @@ submodules: ...@@ -11,22 +11,28 @@ submodules:
fi fi
.PHONY: submodules .PHONY: submodules
# Approximation, use `make unicorn_rebuild` to force. # Approximation, use `make libunicorn_rebuild` to force.
unicorn/build: unicorn/CMakeLists.txt unicorn/build: unicorn/CMakeLists.txt
mkdir -p unicorn/build mkdir -p unicorn/build
cd unicorn/build && cmake .. -DUNICORN_ARCH=mips -DCMAKE_BUILD_TYPE=Release cd unicorn/build && cmake .. -DUNICORN_ARCH=mips -DCMAKE_BUILD_TYPE=Release
unicorn: unicorn/build # Rebuild whenever anything in the directory changes.
unicorn/build/libunicorn.so.1 unicorn/build/libunicorn.so.2: unicorn/build unicorn
cd unicorn/build && make -j8 cd unicorn/build && make -j8
# The Go linker / runtime expects these to be there! # The Go linker / runtime expects these to be there!
cp unicorn/build/libunicorn.so.1 unicorn
cp unicorn/build/libunicorn.so.2 unicorn cp unicorn/build/libunicorn.so.2 unicorn
.PHONY: unicorn cp unicorn/build/libunicorn.so.1 unicorn
# Update timestamp to make them more recent than the directory
touch unicorn/build/libunicorn.so.1
touch unicorn/build/libunicorn.so.2
libunicorn: unicorn/build/libunicorn.so.1 unicorn/build/libunicorn.so.2
.PHONY: libunicorn
unicorn_rebuild: libunicorn_rebuild:
touch unicorn/CMakeLists.txt touch unicorn/CMakeLists.txt
make unicorn make libunicorn
.PHONY: unicorn_rebuild .PHONY: libunicorn_rebuild
minigeth_mips: minigeth_mips:
cd mipigo && ./build.sh cd mipigo && ./build.sh
...@@ -108,10 +114,12 @@ clean: ...@@ -108,10 +114,12 @@ clean:
rm -f mipigo/minigeth.bin rm -f mipigo/minigeth.bin
rm -f mipsevm/mipsevm rm -f mipsevm/mipsevm
rm -rf artifacts rm -rf artifacts
rm -r
.PHONY: clean .PHONY: clean
mrproper: clean mrproper: clean
rm -rf cache rm -rf cache
rm -rf node_modules rm -rf node_modules
rm -rf mipigo/venv rm -rf mipigo/venv
rm -rf unicorn/build
.PHONY: mrproper .PHONY: mrproper
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment