1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
BSLASH := \\#
NULL_CHAR := #
SPACE := \ #
COLON := :#
DOTDOT := ..#
SPACE_ESC := &sp;#
COLON_ESC := &co;#
SPACE_OUT := ~sp~#
COLON_OUT := ~co~#
DOTDOT_OUT := ~dtdt~#
BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
REMOVE_TAIL = $(patsubst %/,%,$(1))
#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
#ifneq ($(findstring Windows,$(OS)),)
# ...
#endif
FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
FIND_FILES_ABS = $(shell $(FIND) $(1))
FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
define MAKEDIRS0
@echo ' Building directory: $(1)'
@$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
endef
MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
|