1 #########################################################################
2 # Embedded Linux Build Enviornment:
4 #########################################################################
5 OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
8 CROSS_COMPILE ?= aarch64-linux-gnu-
14 INTERACTIVE := $(shell [ -t 0 ] && echo 1)
19 ColorYellow=\033[0;93m
21 ColorMagenta=\033[0;95m
26 # ColorGreen=\033[0;32m
27 # ColorYellow=\033[0;33m
28 # ColorBlue=\033[0;33m
29 # ColorMagenta=\033[0;35m
30 # ColorCyan=\033[0;36m
42 #########################################################################
44 #########################################################################
45 CROSS := $(CROSS_COMPILE)
52 RANLIB := $(CROSS)ranlib
53 OBJCOPY := $(CROSS)objcopy
54 STRIP := $(CROSS)strip
56 #########################################################################
57 # Library & Header macro
58 #########################################################################
61 #########################################################################
63 #########################################################################
64 OPTS := -Wall -O2 -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fno-strict-aliasing -fstrict-overflow -fsigned-char -fno-omit-frame-pointer -fno-optimize-sibling-calls
66 CPPOPTS := $(OPTS) -Wnon-virtual-dtor
69 CPPFLAGS := $(CPPOPTS)
76 #########################################################################
78 #########################################################################
80 @echo "Compiling : $(CC) $(ColorCyan)$(notdir $<)$(ColorEnd)"
81 $(quiet)$(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
84 @echo "Compiling : $(AS) $(ColorCyan)$(notdir $<)$(ColorEnd)"
85 $(quiet)$(AS) $(AFLAGS) $(INCLUDE) -c -o $@ $<
88 @echo "Compiling : $(CPP) $(ColorCyan)$(notdir $<)$(ColorEnd)"
89 $(quiet)$(CPP) $(CPPFLAGS) $(INCLUDE) -c -o $@ $<