2020-12-23 17:14:13 +00:00
|
|
|
#
|
2021-07-04 00:12:48 +00:00
|
|
|
# msxbuild.mk - Makefile helper to use with msx projects.
|
2020-12-23 17:14:13 +00:00
|
|
|
#
|
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
# Setup default tools paths
|
2021-07-06 18:42:46 +00:00
|
|
|
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))
|
2024-06-29 22:49:23 +00:00
|
|
|
|
2024-07-02 01:27:14 +00:00
|
|
|
# Include extra features
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_doc.mk
|
2024-07-05 18:43:18 +00:00
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_make.mk
|
2024-07-02 01:27:14 +00:00
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_sdcc.mk
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_flight.mk
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_msxrom.mk
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_msxhub.mk
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_msxpipe.mk
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_openmsx.mk
|
|
|
|
include $(PATH_MSXBUILD)/lib/make/mb_autoexec.mk
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
# 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%
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_COLORS ?= -1
|
2024-06-27 14:58:21 +00:00
|
|
|
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
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_COLORS ?= $(shell tput colors 2> /dev/null;test $$? -eq 0 || echo "-1")
|
2024-06-27 14:58:21 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
# Remove space after separator
|
|
|
|
MB_PSEP = $(strip $(MB_SEP))
|
|
|
|
|
2024-07-02 01:27:14 +00:00
|
|
|
# Special chars call arguments (like for l80.com)
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_CHAR_COMMA := ,
|
2024-07-03 11:30:35 +00:00
|
|
|
MB_CHAR_SPACE := $(subst ,, )
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
define mb_clean
|
2024-07-05 18:43:18 +00:00
|
|
|
$(call mb_make_call,mb_make_echo_good,Cleaning build folder $(1))
|
2024-07-02 21:18:20 +00:00
|
|
|
$(MB_RMDIR) $(1)
|
2024-06-27 14:58:21 +00:00
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_clean,"Removed the full folder.","<dir>")
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
define mb_mkdir
|
|
|
|
$(MB_MKDIR) $(1)
|
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_mkdir,"Creates an folder.","<dir>")
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
define mb_delete
|
2024-07-02 21:18:20 +00:00
|
|
|
$(MB_RM) $(1)
|
2024-06-27 14:58:21 +00:00
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_delete,"Deletes an file.","<file>")
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
define mb_copy
|
|
|
|
$(MB_COPY) $(1) $(2)
|
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_copy,"Copy an file.","<in> <out>")
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-28 12:20:42 +00:00
|
|
|
define mb_unix2dos
|
|
|
|
unix2dos -q -n $(1) $(2)
|
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_unix2dos,"Converts an unix file to dos.","<in> <out>")
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-28 12:20:42 +00:00
|
|
|
define mb_dos2unix
|
|
|
|
dos2unix -q -n $(1) $(2)
|
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_dos2unix,"Converts an dos file to unix.","<in> <out>")
|
2024-07-02 01:27:14 +00:00
|
|
|
|
2024-07-02 21:18:20 +00:00
|
|
|
|
2024-06-27 14:58:21 +00:00
|
|
|
define mb_create_dist
|
2024-07-05 18:43:18 +00:00
|
|
|
$(call mb_make_call,mb_make_echo_good,Creating distribution archive $(2))
|
2024-06-30 02:37:21 +00:00
|
|
|
tar -czf $(2) -C $(1) `ls $(1)`
|
2024-06-27 14:58:21 +00:00
|
|
|
endef
|
2024-07-05 18:43:18 +00:00
|
|
|
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_create_dist,"Create an distribution archive.","<dir> <artifact>")
|