msxbuild/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_os.mk

128 lines
4.3 KiB
Makefile
Raw Permalink Normal View History

2024-07-05 22:11:54 +00:00
MB_OS_RM ?= rm -f
$(call mb-make-call,mb-doc-variable-rock,MB_OS_RM,Native OS delete command.)
MB_OS_RMDIR ?= rm -rf
$(call mb-make-call,mb-doc-variable-rock,MB_OS_RMDIR,Native OS remove folder command.)
MB_OS_MKDIR ?= mkdir -p
$(call mb-make-call,mb-doc-variable-rock,MB_OS_MKDIR,Native OS create folder command.)
MB_OS_COPY ?= cp
$(call mb-make-call,mb-doc-variable-rock,MB_OS_COPY,Native OS copy command.)
MB_OS_STDOUT_IGNORE ?= >/dev/null
$(call mb-make-call,mb-doc-variable-rock,MB_OS_STDOUT_IGNORE,Native OS ignore stdout.)
MB_OS_STDERR_IGNORE ?= 2>/dev/null
$(call mb-make-call,mb-doc-variable-rock,MB_OS_STDERR_IGNORE,Native OS ignore stderr.)
MB_OS_SEP ?=/
$(call mb-make-call,mb-doc-variable-rock,MB_OS_SEP,Native OS path seperator.)
MB_OS_CACHE ?= ~/.cache
$(call mb-make-call,mb-doc-variable-rock,MB_OS_CACHE,Native OS application cache folder.)
MB_OS_TERM_COLORS ?= $(shell tput colors 2> /dev/null;test $$? -eq 0 || echo -1)
$(call mb-make-call,mb-doc-variable-rock,MB_OS_TERM_COLORS,Native OS terminal color count support.)
2024-07-05 22:11:54 +00:00
ifdef OS
ifeq ($(OS),Windows_NT)
2024-07-12 15:59:26 +00:00
$(MB_   )MB_OS_RM ?= del /F /Q
$(MB_   )MB_OS_RMDIR ?= RMDIR /S /Q
$(MB_   )MB_OS_MKDIR ?= mkdir
$(MB_   )MB_OS_COPY ?= copy
$(MB_   )MB_OS_STDOUT_IGNORE ?= >NUL
$(MB_   )MB_OS_STDERR_IGNORE ?= 2>NUL || true
$(MB_   )MB_OS_SEP ?=\
$(MB_   )MB_OS_CACHE ?= %LOCALAPPDATA%
$(MB_   )MB_OS_TERM_COLORS ?= -1
endif
endif
define mb-os-file-empty
$(MB_   )$(file >$(1))
endef
$(call mb-make-call,mb-doc-function,mb-os-file-empty,Makes an file empty.,<file>)
define mb-os-file-append
$(MB_   )$(file >>$(1),$(2))
endef
$(call mb-make-call,mb-doc-function,mb-os-file-append,Appends text to an file,<file> <text>)
define mb-os-file-copy
$(MB_   )$(MB_OS_COPY) $(1) $(2)
endef
$(call mb-make-call,mb-doc-function,mb-os-file-copy,Copy an file.,<in> <out>)
define mb-os-file-delete
2024-07-12 15:59:26 +00:00
$(MB_   )$(MB_OS_RM) $(1)
endef
$(call mb-make-call,mb-doc-function,mb-os-file-delete,Deletes an file.,<file>)
define mb-os-file-touch
$(MB_   )touch $(1)
endef
$(call mb-make-call,mb-doc-function,mb-os-file_touch,Changes file timestamps.,<file>)
define mb-os-dir-delete
$(MB_   )$(MB_OS_RMDIR) $(1)
endef
$(call mb-make-call,mb-doc-function,mb-os-dir-delete,Delete the full folder.,<dir>)
define mb-os-dir-create
$(MB_   )$(MB_OS_MKDIR) $(1)
endef
$(call mb-make-call,mb-doc-function,mb-os-dir-create,Creates an folder.,<dir>)
define mb-os-crayon-tagged-echo
2024-07-12 15:59:26 +00:00
$(MB_   )$(if $(filter -1,$(MB_OS_TERM_COLORS)),@echo $(MB_I18N_OS_CRAYON_TAG) $(2),@echo -e "\x1B[$(1)m$(MB_I18N_OS_CRAYON_TAG)\x1B[39m $(2)")
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-crayon-tagged-echo,Echo's an prefixed message to stdout with ansi color code.,<color-code> <message>)
define mb-os-echo-report
$(MB_   )$(call mb-make-call,mb-os-crayon-tagged-echo,31,$(1))
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-echo-report,Echo's an message to stdout with 'red' crayon.,<message>)
define mb-os-echo-good
$(MB_   )$(call mb-make-call,mb-os-crayon-tagged-echo,32,$(1))
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-echo-good,Echo's an message to stdout with 'green' crayon.,<message>)
define mb-os-echo-assert
$(MB_   )$(call mb-make-call,mb-os-crayon-tagged-echo,33,$(1))
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-echo-assert,Echo's an message to stdout with 'yellow' crayon.,<message>)
define mb-os-echo-command
$(MB_   )$(call mb-make-call,mb-os-crayon-tagged-echo,34,$(1))
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-echo-command,Echo's an message to stdout with 'blue' crayon.,<message>)
define mb-os-echo-phase
$(MB_   )$(call mb-make-call,mb-os-crayon-tagged-echo,35,$(1))
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-echo-phase,Echo's an message to stdout with 'magenta' crayon.,<message>)
define mb-os-echo-remark
$(MB_   )$(call mb-make-call,mb-os-crayon-tagged-echo,36,$(1))
endef
$(call mb-make-call,mb-doc-function-deep,mb-os-echo-alert,Echo's an message to stdout with 'cyan' crayon.,<message>)