msxbuild/lib/make/msxbuild.mk

72 lines
2.5 KiB
Makefile
Raw Normal View History

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
#
# Setup default tools paths
2024-07-05 22:11:54 +00:00
PATH_SDCC ?= /usr/bin
PATH_OPENMSX ?= /usr/bin
PATH_MSXBUILD ?= $(dir $(lastword $(MAKEFILE_LIST)))../..
2021-07-06 18:42:46 +00:00
PATH_MSXBUILD_REAL := $(if $(realpath $(PATH_MSXBUILD)),$(realpath $(PATH_MSXBUILD)),$(PATH_MSXBUILD))
2024-06-29 22:49:23 +00:00
# Include extra features
include $(PATH_MSXBUILD)/lib/make/mb_doc.mk
include $(PATH_MSXBUILD)/lib/make/mb_make.mk
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
2024-07-05 22:11:54 +00:00
include $(PATH_MSXBUILD)/lib/make/mb_os.mk
2020-12-23 17:14:13 +00:00
2024-07-05 22:11:54 +00:00
# Below mb_doc.mk for white space...
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,PATH_SDCC,"Path where SDCC binaries are located.")
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,PATH_OPENMSX,"Path where openMSX binary is located.")
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,PATH_MSXBUILD,"Path where msxbuild lib folder is located.")
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,PATH_MSXBUILD_REAL,"Resolved real path of msxbuild.")
define mb_clean
$(call mb_make_call,mb_make_echo_good,Cleaning build folder $(1))
2024-07-05 22:11:54 +00:00
$(MB_OS_RMDIR) $(1)
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_clean,"Removed the full folder.","<dir>")
define mb_mkdir
2024-07-05 22:11:54 +00:00
$(MB_OS_MKDIR) $(1)
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_mkdir,"Creates an folder.","<dir>")
define mb_delete
2024-07-05 22:11:54 +00:00
$(MB_OS_RM) $(1)
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_delete,"Deletes an file.","<file>")
define mb_copy
2024-07-05 22:11:54 +00:00
$(MB_OS_COPY) $(1) $(2)
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_copy,"Copy an file.","<in> <out>")
define mb_unix2dos
unix2dos -q -n $(1) $(2)
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_unix2dos,"Converts an unix file to dos.","<in> <out>")
define mb_dos2unix
dos2unix -q -n $(1) $(2)
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_dos2unix,"Converts an dos file to unix.","<in> <out>")
define mb_create_dist
$(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)`
endef
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_create_dist,"Create an distribution archive.","<dir> <artifact>")