Willem Cazander
567f91be78
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 2s
66 lines
1.8 KiB
Makefile
66 lines
1.8 KiB
Makefile
#
|
|
# msxbuild.mk - Makefile helper to use with msx projects.
|
|
#
|
|
|
|
# Setup default tools paths
|
|
PATH_SDCC ?= /usr/bin
|
|
PATH_OPENMSX ?= /usr/bin
|
|
PATH_MSXBUILD ?= $(dir $(lastword $(MAKEFILE_LIST)))../..
|
|
PATH_MSXBUILD_REAL := $(if $(realpath $(PATH_MSXBUILD)),$(realpath $(PATH_MSXBUILD)),$(PATH_MSXBUILD))
|
|
|
|
# OS cmds
|
|
ifeq ($(OS),Windows_NT)
|
|
MB_RM = del /F /Q
|
|
MB_RMDIR = RMDIR /S /Q
|
|
MB_MKDIR = mkdir
|
|
MB_COPY = copy
|
|
MB_ERRIGNORE = 2>NUL || true
|
|
MB_SEP=\\
|
|
MB_CACHE ?= %LOCALAPPDATA%
|
|
else
|
|
MB_RM = rm -f
|
|
MB_RMDIR = rm -rf
|
|
MB_MKDIR = mkdir -p
|
|
MB_COPY = cp
|
|
MB_ERRIGNORE = 2>/dev/null
|
|
MB_SEP=/
|
|
MB_CACHE ?= ~/.cache
|
|
endif
|
|
|
|
# Remove space after separator
|
|
MB_PSEP = $(strip $(MB_SEP))
|
|
|
|
# Needed for comma in call arguments (like for l80.com)
|
|
MB_COMMA:=,
|
|
|
|
# Simple inline ascii lowercase
|
|
define _mb_lowercase
|
|
$(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(1)))))))))))))))))))))))))))
|
|
endef
|
|
|
|
define mb_clean
|
|
@echo === Cleaning build folder.
|
|
$(if $(wildcard $(1)),$(MB_RMDIR) $(1))
|
|
endef
|
|
define mb_mkdir
|
|
$(MB_MKDIR) $(1)
|
|
endef
|
|
define mb_delete
|
|
$(if $(wildcard $(1)),$(MB_RM) $(1))
|
|
endef
|
|
define mb_copy
|
|
$(MB_COPY) $(1) $(2)
|
|
endef
|
|
define mb_create_dist
|
|
@echo === Creating distribution archive.
|
|
tar -czf $(1) -C $(2) `ls $(2)`
|
|
endef
|
|
|
|
# Include extra features
|
|
include $(PATH_MSXBUILD)/lib/make/mb_autoexec.mk
|
|
include $(PATH_MSXBUILD)/lib/make/mb_msxrom.mk
|
|
include $(PATH_MSXBUILD)/lib/make/mb_msxhub.mk
|
|
include $(PATH_MSXBUILD)/lib/make/mb_packages.mk
|
|
include $(PATH_MSXBUILD)/lib/make/mb_openmsx.mk
|
|
include $(PATH_MSXBUILD)/lib/make/mb_build.mk
|