msxbuild/lib/make/ᐊᑐᕐᓗᒍ/mb_os.mk
Willem Cazander b67ba15457
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -11s
WIP moving all flow to namespace.
2024-07-12 17:59:26 +02:00

110 lines
3.8 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.")
ifdef OS
ifeq ($(OS),Windows_NT)
$(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_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_file_delete
$(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_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_crayon_tagged_echo
$(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_fail
$(MB_   )$(call mb_make_call,mb_os_crayon_tagged_echo,31,$(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_os_echo_fail,"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>")