-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCommon.mk
80 lines (69 loc) · 2.38 KB
/
Common.mk
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# make_subdir()
###############################################################################
define make_subdir
@for d in $1; do \
(make -C $$d $2) || break; \
done
endef
# run_test()
###############################################################################
define run_test
@for a in $^; do \
echo "====== Running test: $$a ======"; \
./$$a && echo "====== SUCCESS ======" || echo "====== FAILURE ======"; \
done
endef
# filter_spc()
###############################################################################
define filter_spc
$(subst .,_,$(subst -,_,$(subst /,_,$1)))
endef
# add_cflags(source file,clfags)
###############################################################################
define add_cflags
$(eval $(call filter_spc,$1)_CFLAGS=$2)
endef
# add_cxxflags(source file,cxxflags)
###############################################################################
define add_cxxflags
$(eval $(call filter_spc,$1)_CXXFLAGS=$2)
endef
# add_driver(Cat,Id,Switch?[0|1],Objects,CFLAGS,LDFLAGS,LIBS)
###############################################################################
define add_driver
$(eval XPR_$1_DRIVER_$2 := $3)
$(eval libxpr_SRCS-$(XPR_$1_DRIVER_$2) += $(patsubst %,drivers/$(shell echo $1 | tr A-Z a-z)/%,$4))
$(eval libxpr_DEFS-$(XPR_$1_DRIVER_$2) += -DXPR_$1_DRIVER_$2=$(XPR_$1_DRIVER_$2))
$(eval libxpr_CFLAGS-$(XPR_$1_DRIVER_$2) += $5)
$(eval libxpr_LDFLAGS-$(XPR_$1_DRIVER_$2) += $6)
$(eval libxpr_LIBS-$(XPR_$1_DRIVER_$2) += $7)
endef
VERBOSE = @
ifneq ($(V),)
VERBOSE =
endif
CC = $(VERBOSE)$(CROSS_COMPILER_PREFIX)gcc
CXX = $(VERBOSE)$(CROSS_COMPILER_PREFIX)g++
AR = $(VERBOSE)$(CROSS_COMPILER_PREFIX)ar
AS = $(VERBOSE)$(CROSS_COMPILER_PREFIX)as
LD = $(VERBOSE)$(CROSS_COMPILER_PREFIX)gcc
OBJCOPY = $(VERBOSE)$(CROSS_COMPILER_PREFIX)objcopy
STRIP = $(VERBOSE)$(CROSS_COMPILER_PREFIX)strip
HOST_CC = $(VERBOSE)gcc
HOST_CXX= $(VERBOSE)g++
HOST_AR = $(VERBOSE)ar
HOST_AS = $(VERBOSE)as
HOST_LD = $(VERBOSE)ld
HOST_OBJCOPY = $(VERBOSE)objcopy
HOST_STRIP = $(VERBOSE)strip
TARGET_CC = $(CROSS_COMPILER_PREFIX)gcc
TARGET_CXX = $(CROSS_COMPILER_PREFIX)g++
TARGET_AR = $(CROSS_COMPILER_PREFIX)ar
TARGET_AS = $(CROSS_COMPILER_PREFIX)as
TARGET_LD = $(CROSS_COMPILER_PREFIX)gcc
TARGET_OBJCOPY = $(CROSS_COMPILER_PREFIX)objcopy
TARGET_STRIP = $(CROSS_COMPILER_PREFIX)strip
CP = @cp
ECHO = @echo
INSTALL = @install
RM = -rm -f