msxbuild/lib/make/mb_make.mk

139 lines
5.9 KiB
Makefile
Raw Normal View History

MB_MAKE_COMMA := ,
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_COMMA,"Expanded special char; comma.")
MB_MAKE_SPACE := $(subst ,, )
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_SPACE,"Expanded special char; space.")
MB_MAKE_EQUALS := =
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_EQUALS,"Expanded special char; equals.")
MB_MAKE_BRACKET_RL := "("
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_RL,"Expanded special char; bracket round left.")
MB_MAKE_BRACKET_RR := ")"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_RR,"Expanded special char; bracket round right.")
MB_MAKE_BRACKET_SL := "["
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_SL,"Expanded special char; bracket square left.")
MB_MAKE_BRACKET_SR := "]"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_SR,"Expanded special char; bracket square right.")
MB_MAKE_BRACKET_CL := "{"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_CL,"Expanded special char; bracket curly left.")
MB_MAKE_BRACKET_CR := "}"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_CR,"Expanded special char; bracket curly right.")
MB_MAKE_GT := ">"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_GT,"Expanded special char; greater than.")
MB_MAKE_LT := "<"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_LT,"Expanded special char; lesser than.")
MB_MAKE_CDATA_START := "<![CDATA["
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_CDATA_START,"Expanded special char; XML cdata start.")
MB_MAKE_CDATA_END := "]]>"
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_CDATA_END,"Expanded special char; XML cdata end.")
define mb_make_rwildcard
$(foreach d,$(wildcard $1*),$(call mb_make_rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_rwildcard,"Recursive wildcard search.","<dir> <match>")
define mb_make_call
$(if $(filter file,$(origin $(1))),$(call $(1),$(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9)),$(error $(1) is not defined))
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_call,"Checked origin call function wrapper.","<function> [args...]")
define mb_make_lowercase
$(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(1)))))))))))))))))))))))))))
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_lowercase,"Converts ascii string to lowercase.","<string>")
define mb_make_uppercase
$(subst a,A,$(subst b,B,$(subst c,C,$(subst d,D,$(subst e,E,$(subst f,F,$(subst g,G,$(subst h,H,$(subst i,I,$(subst j,J,$(subst k,K,$(subst l,L,$(subst m,M,$(subst n,N,$(subst o,O,$(subst p,P,$(subst q,Q,$(subst r,R,$(subst s,S,$(subst t,T,$(subst u,U,$(subst v,V,$(subst w,W,$(subst x,X,$(subst y,Y,$(subst z,Z,$(1)))))))))))))))))))))))))))
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_uppercase,"Converts ascii string to uppercase.","<string>")
define mb_make_xml_open
$(MB_MAKE_LT)$(1)$(if $(2), $(2)=\"$(3)\")$(if $(4), $(4)=\"$(5)\")$(MB_MAKE_GT)
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_xml_open,"Print xml open tag.","<tag> [attr1-name] [attr1-value] [attr2-name] [attr2-value]")
define mb_make_xml_close
$(MB_MAKE_LT)/$(1)$(MB_MAKE_GT)
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_xml_close,"Print xml close tag.","<tag>")
2024-07-05 22:38:01 +00:00
define mb_make_xml_value
$(MB_MAKE_CDATA_START)$(subst $(MB_MAKE_CDATA_START),,$(subst $(MB_MAKE_CDATA_END),,$(1)))$(MB_MAKE_CDATA_END)
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_xml_value,"Print xml value in cdata wrapper.","<value>")
2024-07-05 22:38:01 +00:00
define mb_make_xml_tag_value
2024-07-05 22:38:01 +00:00
$(if $(2),$(call mb_make_call,mb_make_xml_open,$(1))$(call mb_make_call,mb_make_xml_value,$(2))$(call mb_make_call,mb_make_xml_close,$(1)))
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_deep,mb_make_xml_tag_value,"Print xml tag with value inside.","<tag> [value]")
define __mb_make_flow_0module
include $$(call mb_make_call,mb_make_rwildcard,$(1),*/0module.mk)
endef
define mb_make_flow_0module
$(call mb_make_call,mb_make_check_arg1,mb_make_flow_0module,$(1))
$(eval $(call mb_make_call,__mb_make_flow_0module,$(1)))
endef
2024-07-07 18:53:06 +00:00
$(call mb_make_call,mb_doc_function_flow,mb_make_flow_0module,"Prints flow of recursive 0module.mk include.","<dir>")
define mb_make_check_arg1
$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_arg1,"Checks that a function has a given argument.","<function> <arg1>")
define mb_make_check_arg2
$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1)))
$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_arg2,"Checks that a function has the given arguments.","<function> <arg1>")
define mb_make_check_arg3
$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1)))
$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2)))
$(if $(4),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG3)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_arg3,"Checks that a function has the given arguments.","<function> <arg1>")
define mb_make_check_arg4
$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1)))
$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2)))
$(if $(4),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG3)))
$(if $(5),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG4)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_arg4,"Checks that a function has the given arguments.","<function> <arg1>")
define mb_make_check_arg5
$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1)))
$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2)))
$(if $(4),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG3)))
$(if $(5),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG4)))
$(if $(6),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG5)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_arg5,"Checks that a function has the given arguments.","<function> <arg1>")