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

128 lines
4.3 KiB
Makefile
Raw 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.")
2024-07-10 14:24:46 +00:00
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>")