From f36aae19170ee5438f3b39b13a6da2fdac315f79 Mon Sep 17 00:00:00 2001 From: Willem Date: Sat, 6 Jul 2024 00:11:54 +0200 Subject: [PATCH] Move native os command to own file. --- Makefile | 3 ++- lib/make/mb_doc.mk | 2 +- lib/make/mb_flight.mk | 4 ++-- lib/make/mb_make.mk | 4 ++-- lib/make/mb_msxhub.mk | 2 +- lib/make/mb_msxrom.mk | 2 +- lib/make/mb_openmsx.mk | 1 + lib/make/mb_os.mk | 32 +++++++++++++++++++++++++++++++ lib/make/msxbuild.mk | 43 +++++++++++++----------------------------- 9 files changed, 55 insertions(+), 38 deletions(-) create mode 100644 lib/make/mb_os.mk diff --git a/Makefile b/Makefile index f679593..e64f6af 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,8 @@ endif PATH_BIN := bin PATH_SRC := src -include lib/make/msxbuild.mk +PATH_MSXBUILD ?= . +include $(PATH_MSXBUILD)/lib/make/msxbuild.mk $(eval $(call mb_make_call,mb_doc_flow_help)) $(eval $(call mb_make_call,mb_make_flow_0module,$(PATH_SRC))) diff --git a/lib/make/mb_doc.mk b/lib/make/mb_doc.mk index a23cfce..209a206 100644 --- a/lib/make/mb_doc.mk +++ b/lib/make/mb_doc.mk @@ -52,7 +52,7 @@ MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_DOC_FOR define _mb_doc_variable_txt - "* "$(2)=$(subst \\n,\\\n,$(4))\\n$(if $(3),\\t$(3)\\n)\\n + "* "$(2)=$(subst \\n,\\\n,$(subst >,\>,$(4)))\\n$(if $(3),\\t$(3)\\n)\\n endef define _mb_doc_variable_xml \\n\\t$(call mb_make_xml_open,variable,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_VALUE),$(4))\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_xml_close,variable) diff --git a/lib/make/mb_flight.mk b/lib/make/mb_flight.mk index c2d75eb..e70bc60 100644 --- a/lib/make/mb_flight.mk +++ b/lib/make/mb_flight.mk @@ -19,9 +19,9 @@ MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_VIDEO_NAME define mb_flight_video_merge - @echo === Indexing flight videos + $(call mb_make_call,mb_make_echo_good,Indexing flight videos) ls -1tr $(1)/*-omsx/videos/*.avi | awk -F "$(1)/" -v s="file '" -v e="'" '{print s$$2e}' > $(1)/$(MB_FLIGHT_VIDEO_NAME).lst ffmpeg -v quiet -y -f concat -i $(1)/$(MB_FLIGHT_VIDEO_NAME).lst -c copy $(1)/$(MB_FLIGHT_VIDEO_NAME).avi - @echo === Flight video completed + $(call mb_make_call,mb_make_echo_good,Flight video completed) endef MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_flight_video_merge,"Merged all flight videos to one.","") diff --git a/lib/make/mb_make.mk b/lib/make/mb_make.mk index dab9fa0..1c39e73 100644 --- a/lib/make/mb_make.mk +++ b/lib/make/mb_make.mk @@ -79,13 +79,13 @@ MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_xm define mb_make_echo_good -$(if $(filter -1,$(MB_COLORS)),@echo $(MB_MAKE_ECHO_CRAYON) $(1),/usr/bin/echo -e "\x1B[32m$(MB_MAKE_ECHO_CRAYON)$$1\x1B[39m $(1)") +$(if $(filter -1,$(MB_OS_COLORS)),@echo $(MB_MAKE_ECHO_CRAYON) $(1),/usr/bin/echo -e "\x1B[32m$(MB_MAKE_ECHO_CRAYON)$$1\x1B[39m $(1)") endef MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_echo_good,"Echo's an message to stdout with 'green' crayon.","") define mb_make_echo_fail -$(if $(filter -1,$(MB_COLORS)),@echo $(MB_MAKE_ECHO_CRAYON) $(1),/usr/bin/echo -e "\x1B[31m$(MB_MAKE_ECHO_CRAYON)$$1\x1B[39m $(1)") +$(if $(filter -1,$(MB_OS_COLORS)),@echo $(MB_MAKE_ECHO_CRAYON) $(1),/usr/bin/echo -e "\x1B[31m$(MB_MAKE_ECHO_CRAYON)$$1\x1B[39m $(1)") endef MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_echo_fail,"Echo's an message to stdout with 'red' crayon.","") diff --git a/lib/make/mb_msxhub.mk b/lib/make/mb_msxhub.mk index e342364..23bdba9 100644 --- a/lib/make/mb_msxhub.mk +++ b/lib/make/mb_msxhub.mk @@ -2,7 +2,7 @@ MB_MSXHUB_API ?= https://msxhub.com/api MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXHUB_API,"Resource identifier for msxhub package rest api.") -MB_MSXHUB_CACHE ?= $(MB_CACHE)/msxbuild/msxhub +MB_MSXHUB_CACHE ?= $(MB_OS_CACHE)/msxbuild/msxhub MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXHUB_CACHE,"Cache storage location.") diff --git a/lib/make/mb_msxrom.mk b/lib/make/mb_msxrom.mk index d2e38d5..21f5271 100644 --- a/lib/make/mb_msxrom.mk +++ b/lib/make/mb_msxrom.mk @@ -3,7 +3,7 @@ MB_MSXROM_API ?= https://msxrom.distributedrebirth.love/calc-pi/v19.1 MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_API,"Resource identifier for msxrom pi pie named slices data.") -MB_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom +MB_MSXROM_CACHE ?= $(MB_OS_CACHE)/msxbuild/msxrom MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_CACHE,"Cache storage location.") diff --git a/lib/make/mb_openmsx.mk b/lib/make/mb_openmsx.mk index 2f145f2..09d2794 100644 --- a/lib/make/mb_openmsx.mk +++ b/lib/make/mb_openmsx.mk @@ -53,6 +53,7 @@ define mb_openmsx_setup endef MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_openmsx_setup,"Setup openMSX local build home folder for machine."," ") + define _mb_openmsx_run $(call mb_make_call,mb_make_echo_good,Start openMSX! for $@ on $(2)) $(if $(wildcard $(1)-omsx/persistent/fire-hdd/untitled1/sync),,$(call mb_make_call,mb_mkdir,$(1)-omsx/persistent/fire-hdd/untitled1/sync)) diff --git a/lib/make/mb_os.mk b/lib/make/mb_os.mk new file mode 100644 index 0000000..4685e7b --- /dev/null +++ b/lib/make/mb_os.mk @@ -0,0 +1,32 @@ + +# OS cmds +ifeq ($(OS),Windows_NT) + MB_OS_RM = del /F /Q + MB_OS_RMDIR = RMDIR /S /Q + MB_OS_MKDIR = mkdir + MB_OS_COPY = copy + MB_OS_ERRIGNORE = 2>NUL || true + MB_OS_SEP = "\" + MB_OS_CACHE ?= %LOCALAPPDATA% + MB_OS_COLORS ?= -1 +else + MB_OS_RM = rm -f + MB_OS_RMDIR = rm -rf + MB_OS_MKDIR = mkdir -p + MB_OS_COPY = cp + MB_OS_ERRIGNORE = 2>/dev/null + MB_OS_SEP = "/" + MB_OS_CACHE ?= ~/.cache + MB_OS_COLORS ?= $(shell tput colors 2> /dev/null;test $$? -eq 0 || echo "-1") +endif + + +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_RM,"Native OS delete command.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_RMDIR,"Native OS remove folder command.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_MKDIR,"Native OS create folder command.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_COPY,"Native OS copy command.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_ERRIGNORE,"Native OS error to ignore redirect.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_SEP,"Native OS path seperator.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_CACHE,"Native OS application cache folder.") +MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_OS_COLORS,"Native OS terminal color count support.") + diff --git a/lib/make/msxbuild.mk b/lib/make/msxbuild.mk index f72b473..4588c2a 100644 --- a/lib/make/msxbuild.mk +++ b/lib/make/msxbuild.mk @@ -3,9 +3,9 @@ # # Setup default tools paths -PATH_SDCC ?= /usr/bin -PATH_OPENMSX ?= /usr/bin -PATH_MSXBUILD ?= $(dir $(lastword $(MAKEFILE_LIST)))../.. +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 @@ -18,53 +18,36 @@ 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 +include $(PATH_MSXBUILD)/lib/make/mb_os.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)) +# 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)) - $(MB_RMDIR) $(1) + $(MB_OS_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) + $(MB_OS_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) + $(MB_OS_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) + $(MB_OS_COPY) $(1) $(2) endef MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_copy,"Copy an file."," ")