# # 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)) # 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 # 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% MB_COLORS ?= -1 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 MB_COLORS ?= $(shell tput colors 2> /dev/null;test $$? -eq 0 || echo "-1") endif # Remove space after separator MB_PSEP = $(strip $(MB_SEP)) # Special chars call arguments (like for l80.com) MB_CHAR_COMMA := , MB_CHAR_SPACE := $(subst ,, ) define mb_clean $(call mb_make_call,mb_make_echo_good,Cleaning build folder $(1)) $(MB_RMDIR) $(1) endef MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_clean,"Removed the full folder.","") define mb_mkdir $(MB_MKDIR) $(1) endef MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_mkdir,"Creates an folder.","") define mb_delete $(MB_RM) $(1) endef MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_delete,"Deletes an file.","") define mb_copy $(MB_COPY) $(1) $(2) endef MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_copy,"Copy an file."," ") 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."," ") 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."," ") define mb_create_dist $(call mb_make_call,mb_make_echo_good,Creating distribution archive $(2)) 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."," ")