Cleanup build setup
This commit is contained in:
+2
-3
@@ -1,6 +1,5 @@
|
|||||||
build/current
|
build/current
|
||||||
build/gba
|
build/gba
|
||||||
build/debug
|
build/*-debug
|
||||||
build/release
|
build/*-release
|
||||||
build/windows
|
|
||||||
tags
|
tags
|
||||||
|
|||||||
@@ -1,23 +1,25 @@
|
|||||||
|
OS=$(shell uname | tr [:upper:] [:lower:])
|
||||||
|
TARGET=${OS}-$(shell uname -m)
|
||||||
DEVENV=devenv$(shell pwd | sed 's/\//-/g')
|
DEVENV=devenv$(shell pwd | sed 's/\//-/g')
|
||||||
ifeq ($(shell docker inspect --format="{{.State.Status}}" ${DEVENV} 2>&1),running)
|
ifeq ($(shell docker inspect --format="{{.State.Status}}" ${DEVENV} 2>&1),running)
|
||||||
ENV_RUN=docker exec --user $(shell id -u ${USER}) ${DEVENV}
|
ENV_RUN=docker exec --user $(shell id -u ${USER}) ${DEVENV}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
make:
|
make:
|
||||||
${ENV_RUN} make -j -C build
|
${ENV_RUN} make -j -C build TARGET=${TARGET}
|
||||||
preinstall:
|
preinstall:
|
||||||
${ENV_RUN} make -j -C build ARGS="preinstall"
|
${ENV_RUN} make -j -C build ARGS="preinstall" TARGET=${TARGET}
|
||||||
install:
|
install:
|
||||||
${ENV_RUN} make -j -C build ARGS="install"
|
${ENV_RUN} make -j -C build ARGS="install" TARGET=${TARGET}
|
||||||
clean:
|
clean:
|
||||||
${ENV_RUN} make -j -C build ARGS="clean"
|
${ENV_RUN} make -j -C build ARGS="clean" TARGET=${TARGET}
|
||||||
purge:
|
purge:
|
||||||
${ENV_RUN} rm -rf $(shell find build -mindepth 1 -maxdepth 1 -type d)
|
${ENV_RUN} rm -rf $(shell find build -mindepth 1 -maxdepth 1 -type d)
|
||||||
test:
|
test:
|
||||||
${ENV_RUN} make -j -C build ARGS="test"
|
${ENV_RUN} make -j -C build ARGS="test" TARGET=${TARGET}
|
||||||
run: make
|
run: make
|
||||||
./build/current/src/wombat/wombat -debug
|
./build/current/src/wombat/wombat -debug
|
||||||
debug: make
|
gdb: make
|
||||||
gdb ./build/current/src/wombat/wombat
|
gdb ./build/current/src/wombat/wombat
|
||||||
devenv:
|
devenv:
|
||||||
docker pull wombatant/devenv
|
docker pull wombatant/devenv
|
||||||
@@ -29,17 +31,17 @@ devenv-destroy:
|
|||||||
devenv-shell:
|
devenv-shell:
|
||||||
docker exec -i --user $(shell id -u ${USER}) ${DEVENV} ls /usr/bin/x86_64-w64-mingw32-g++
|
docker exec -i --user $(shell id -u ${USER}) ${DEVENV} ls /usr/bin/x86_64-w64-mingw32-g++
|
||||||
|
|
||||||
native:
|
release:
|
||||||
${ENV_RUN} rm -rf build/release
|
${ENV_RUN} rm -rf build/${TARGET}-release
|
||||||
${ENV_RUN} ./scripts/setup_build
|
${ENV_RUN} ./scripts/setup_build ${TARGET}
|
||||||
${ENV_RUN} rm -f build/current
|
${ENV_RUN} rm -f build/current
|
||||||
${ENV_RUN} ln -s release build/current
|
${ENV_RUN} ln -s ${TARGET}-release build/current
|
||||||
|
|
||||||
native_debug:
|
debug:
|
||||||
${ENV_RUN} rm -rf build/debug
|
${ENV_RUN} rm -rf build/${TARGET}-debug
|
||||||
${ENV_RUN} ./scripts/setup_build_debug
|
${ENV_RUN} ./scripts/setup_build ${TARGET} debug
|
||||||
${ENV_RUN} rm -f build/current
|
${ENV_RUN} rm -f build/current
|
||||||
${ENV_RUN} ln -s debug build/current
|
${ENV_RUN} ln -s ${TARGET}-debug build/current
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
${ENV_RUN} rm -rf build/windows
|
${ENV_RUN} rm -rf build/windows
|
||||||
@@ -47,8 +49,14 @@ windows:
|
|||||||
${ENV_RUN} rm -f build/current
|
${ENV_RUN} rm -f build/current
|
||||||
${ENV_RUN} ln -s windows build/current
|
${ENV_RUN} ln -s windows build/current
|
||||||
|
|
||||||
|
windows-debug:
|
||||||
|
${ENV_RUN} rm -rf build/windows
|
||||||
|
${ENV_RUN} ./scripts/setup_build windows debug
|
||||||
|
${ENV_RUN} rm -f build/current
|
||||||
|
${ENV_RUN} ln -s windows build/current
|
||||||
|
|
||||||
gba:
|
gba:
|
||||||
${ENV_RUN} rm -rf build/gba
|
${ENV_RUN} rm -rf build/gba
|
||||||
${ENV_RUN} ./scripts/setup_build_gba
|
${ENV_RUN} ./scripts/setup_build gba
|
||||||
${ENV_RUN} rm -f build/current
|
${ENV_RUN} rm -f build/current
|
||||||
${ENV_RUN} ln -s gba build/current
|
${ENV_RUN} ln -s gba build/current
|
||||||
|
|||||||
+13
-8
@@ -1,4 +1,4 @@
|
|||||||
all: gba_build native_build native_debug_build windows_build
|
all: gba_build native_build native_debug_build windows_release windows_debug
|
||||||
|
|
||||||
gba_build:
|
gba_build:
|
||||||
@if [ -d gba ]; then \
|
@if [ -d gba ]; then \
|
||||||
@@ -6,16 +6,21 @@ gba_build:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
native_build:
|
native_build:
|
||||||
@if [ -d release ]; then \
|
@if [ -d ${TARGET}-release ]; then \
|
||||||
make -C release ${ARGS}; \
|
make -C ${TARGET}-release ${ARGS}; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
native_debug_build:
|
native_debug_build:
|
||||||
@if [ -d debug ]; then \
|
@if [ -d ${TARGET}-debug ]; then \
|
||||||
make -C debug ${ARGS}; \
|
make -C ${TARGET}-debug ${ARGS}; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
windows_build:
|
windows_release:
|
||||||
@if [ -d windows ]; then \
|
@if [ -d windows-release ]; then \
|
||||||
make -C windows ${ARGS}; \
|
make -C windows-release ${ARGS}; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
windows_debug:
|
||||||
|
@if [ -d windows-debug ]; then \
|
||||||
|
make -C windows-debug ${ARGS}; \
|
||||||
fi
|
fi
|
||||||
|
|||||||
+15
-3
@@ -1,18 +1,30 @@
|
|||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
project=$(pwd)/
|
project=$(pwd)/
|
||||||
|
|
||||||
TARGET=$1
|
TARGET=$1
|
||||||
|
BUILD_TYPE=$2
|
||||||
|
|
||||||
if [[ $TARGET == windows ]]; then
|
if [[ $TARGET == windows ]]; then
|
||||||
toolchain="-DCMAKE_TOOLCHAIN_FILE=cmake/Modules/Mingw.cmake"
|
toolchain="-DCMAKE_TOOLCHAIN_FILE=cmake/Modules/Mingw.cmake"
|
||||||
buildDir="build/windows"
|
elif [[ $TARGET == gba ]]; then
|
||||||
|
toolchain="-DCMAKE_TOOLCHAIN_FILE=cmake/Modules/GBA.cmake -DOX_BUILD_EXEC=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $BUILD_TYPE == debug ]]; then
|
||||||
|
buildTypeArgs="-DUSE_ASAN=ON -DCMAKE_BUILD_TYPE=Debug"
|
||||||
|
buildDir="build/${TARGET}-debug"
|
||||||
else
|
else
|
||||||
buildDir="build/release"
|
buildTypeArgs="-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
buildDir="build/${TARGET}-release"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p $buildDir
|
mkdir -p $buildDir
|
||||||
pushd $buildDir
|
pushd $buildDir
|
||||||
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Release \
|
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||||
|
$buildTypeArgs \
|
||||||
$toolchain \
|
$toolchain \
|
||||||
$project
|
$project
|
||||||
popd
|
popd
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
project=$(pwd)
|
|
||||||
buildDir="build/debug"
|
|
||||||
|
|
||||||
mkdir -p $buildDir
|
|
||||||
pushd $buildDir
|
|
||||||
cmake -DUSE_ASAN=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug $project
|
|
||||||
popd
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
project=$(pwd)
|
|
||||||
buildDir="build/gba"
|
|
||||||
|
|
||||||
mkdir -p $buildDir
|
|
||||||
pushd $buildDir
|
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release -DOX_BUILD_EXEC=OFF \
|
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE=cmake/Modules/GBA.cmake $project
|
|
||||||
popd
|
|
||||||
Reference in New Issue
Block a user