@@ -18,11 +18,11 @@ E.make.list := $(A.compiler.dir)avr-objdump --disassemble --source --line-number
18
18
E.get.size := $(A.compiler.dir ) avr-size -A
19
19
20
20
F.dep.base = $(basename $1 $(filter % .h % .hpp,$(shell $(E.get.dep ) $1) ) )
21
- F.dep.1lvl = $(sort $(wildcard $(addsuffix .c* ,$(call F.dep.base,$1) ) $(addsuffix .C,$(call F.dep.base,$1) ) ) )
21
+ F.dep.1lvl = $(sort $(wildcard $(addsuffix .c, $( call F.dep.base,$1) ) $( addsuffix .cc, $( call F.dep.base,$1) ) $( addsuffix .cpp, $( call F.dep.base,$1) ) $( addsuffix .c++ ,$(call F.dep.base,$1) ) $(addsuffix .C,$(call F.dep.base,$1) ) ) )
22
22
F.dep = $(if $(filter-out $1,$(call F.dep.1lvl,$1) ) ,$(call F.dep,$(call F.dep.1lvl,$1) ) ,$1)
23
23
24
- A.src := $(call F.dep,$(sort $(wildcard * .c* ) $(wildcard * /* .c * ) $(wildcard * /* / * .c * ) $(wildcard * . C) $(wildcard * /* .C) $(wildcard * /* /* .C) ) )
25
- A.obj := $(addprefix $(A.output.dir ) /obj/,$(addsuffix .o,$(basename $( A.src ) ) ) )
24
+ A.src := $(call F.dep,$(sort $(wildcard * .c) $( wildcard * / * .c ) $(wildcard * /* / * .c) $( sort $( wildcard * .cc ) $(wildcard * /* .cc) $( wildcard * / * / * .cc) $( wildcard * .cpp) $( wildcard * / * .cpp) $( wildcard * / * / * .cpp) $( wildcard * .c++) $( wildcard * / * .c++ ) $(wildcard * / * / * .c++) $( wildcard * . C) $(wildcard * /* .C) $(wildcard * /* /* .C) ) ) )
25
+ A.obj := $(addprefix $(A.output.dir ) /obj/,$(addsuffix .o,$(A.src ) ) )
26
26
27
27
.PHONY : clean build scan
28
28
@@ -52,13 +52,31 @@ $(A.elf) : $(A.obj)
52
52
@$(E.link ) $^ -o $@
53
53
$(info )
54
54
55
- $(A.output.dir ) /obj/% .o : % .c*
55
+ $(A.output.dir ) /obj/% .c. o : % .c
56
56
@mkdir -p $(@D )
57
57
$(info ===== Making $@ )
58
58
@$(E.compile ) $< -o $@
59
59
$(info )
60
60
61
- $(A.output.dir ) /obj/% .o : % .C
61
+ $(A.output.dir ) /obj/% .cc.o : % .cc
62
+ @mkdir -p $(@D )
63
+ $(info ===== Making $@ )
64
+ @$(E.compile ) $< -o $@
65
+ $(info )
66
+
67
+ $(A.output.dir ) /obj/% .cpp.o : % .cpp
68
+ @mkdir -p $(@D )
69
+ $(info ===== Making $@ )
70
+ @$(E.compile ) $< -o $@
71
+ $(info )
72
+
73
+ $(A.output.dir ) /obj/% .c++.o : % .c++
74
+ @mkdir -p $(@D )
75
+ $(info ===== Making $@ )
76
+ @$(E.compile ) $< -o $@
77
+ $(info )
78
+
79
+ $(A.output.dir ) /obj/% .C.o : % .C
62
80
@mkdir -p $(@D )
63
81
$(info ===== Making $@ )
64
82
@$(E.compile ) $< -o $@
0 commit comments