70 lines
1.9 KiB
Makefile
70 lines
1.9 KiB
Makefile
OS=$(shell uname | tr [:upper:] [:lower:])
|
|
HOST_ENV=${OS}-$(shell uname -m)
|
|
DEVENV=devenv$(shell pwd | sed 's/\//-/g')
|
|
DEVENV_IMAGE=wombatant/devenv
|
|
ifneq ($(shell which docker 2>&1),)
|
|
ifeq ($(shell docker inspect --format="{{.State.Status}}" ${DEVENV} 2>&1),running)
|
|
ENV_RUN=docker exec -i -t --user $(shell id -u ${USER}) ${DEVENV}
|
|
endif
|
|
endif
|
|
|
|
all:
|
|
${ENV_RUN} ./scripts/run-make build
|
|
preinstall:
|
|
${ENV_RUN} ./scripts/run-make build preinstall
|
|
install:
|
|
${ENV_RUN} ./scripts/run-make build install
|
|
clean:
|
|
${ENV_RUN} ./scripts/run-make build clean
|
|
purge:
|
|
${ENV_RUN} rm -rf build
|
|
test:
|
|
${ENV_RUN} ./scripts/run-make build test
|
|
|
|
devenv:
|
|
docker pull ${DEVENV_IMAGE}
|
|
docker run -d -v $(shell pwd):/usr/src/project \
|
|
-e LOCAL_USER_ID=$(shell id -u ${USER}) \
|
|
--name ${DEVENV} -t ${DEVENV_IMAGE} bash
|
|
devenv-destroy:
|
|
docker rm -f ${DEVENV}
|
|
|
|
shell:
|
|
${ENV_RUN} bash
|
|
|
|
release:
|
|
${ENV_RUN} rm -rf build/${HOST_ENV}-release
|
|
${ENV_RUN} ./scripts/setup_build ${HOST_ENV}
|
|
${ENV_RUN} rm -f build/current
|
|
${ENV_RUN} ln -s ${HOST_ENV}-release build/current
|
|
|
|
debug:
|
|
${ENV_RUN} rm -rf build/${HOST_ENV}-debug
|
|
${ENV_RUN} ./scripts/setup_build ${HOST_ENV} debug
|
|
${ENV_RUN} rm -f build/current
|
|
${ENV_RUN} ln -s ${HOST_ENV}-debug build/current
|
|
|
|
asan:
|
|
${ENV_RUN} rm -rf build/${HOST_ENV}-asan
|
|
${ENV_RUN} ./scripts/setup_build ${HOST_ENV} asan
|
|
${ENV_RUN} rm -f build/current
|
|
${ENV_RUN} ln -s ${HOST_ENV}-asan build/current
|
|
|
|
windows:
|
|
${ENV_RUN} rm -rf build/windows
|
|
${ENV_RUN} ./scripts/setup_build windows
|
|
${ENV_RUN} rm -f 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:
|
|
${ENV_RUN} rm -rf build/gba-release
|
|
${ENV_RUN} ./scripts/setup_build gba
|
|
${ENV_RUN} rm -f build/current
|
|
${ENV_RUN} ln -s gba-release build/current
|