1 # SPDX-License-Identifier: BSD-3-Clause
3 # Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
5 BIN2C = ../../../../src/helper/bin2char.sh
7 CROSS_COMPILE ?= arm-none-eabi-
8 GCC = $(CROSS_COMPILE)gcc
9 OBJCOPY = $(CROSS_COMPILE)objcopy
11 FLAGS = -mcpu=cortex-m4 -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb
13 CFLAGS = -c -DNO_MSP_CLASSIC_DEFINES -Dgcc -Wall -ffunction-sections
14 CFLAGS += -fdata-sections -std=c99 -O4
16 LDFLAGS = -lc -lnosys -Wl,--gc-sections
19 msp432e4x/driverlib.o \
20 msp432e4x/main_msp432e4x.o \
21 msp432e4x/startup_msp432e4.o
24 msp432p401x/driverlib.o \
25 msp432p401x/main_msp432p401x.o \
26 msp432p401x/startup_msp432p4.o
29 msp432p411x/driverlib.o \
30 msp432p411x/main_msp432p411x.o \
31 msp432p411x/startup_msp432p4.o
33 all: msp432e4x_algo.inc msp432p401x_algo.inc msp432p411x_algo.inc
36 @echo 'Building file: $<'
37 @echo 'Invoking: GNU Compiler'
38 $(GCC) -D__MSP432E4X__ $(FLAGS) $(CFLAGS) -o"$@" "$(shell echo $<)"
39 @echo 'Finished building: $<'
43 @echo 'Building file: $<'
44 @echo 'Invoking: GNU Compiler'
45 $(GCC) -D__MSP432P401X__ $(FLAGS) $(CFLAGS) -o"$@" "$(shell echo $<)"
46 @echo 'Finished building: $<'
50 @echo 'Building file: $<'
51 @echo 'Invoking: GNU Compiler'
52 $(GCC) -D__MSP432P411X__ $(FLAGS) $(CFLAGS) -o"$@" "$(shell echo $<)"
53 @echo 'Finished building: $<'
56 msp432e4x_algo.out: $(MSP432E4X_OBJS)
57 @echo 'Building target: $@'
58 @echo 'Invoking: GNU Linker'
59 $(GCC) $(FLAGS) $(LDFLAGS) -o$@ $(MSP432E4X_OBJS) -Tmsp432e4x/msp432e4x.lds
60 @echo 'Finished building target: $@'
63 msp432p401x_algo.out: $(MSP432P401X_OBJS)
64 @echo 'Building target: $@'
65 @echo 'Invoking: GNU Linker'
66 $(GCC) $(FLAGS) $(LDFLAGS) -o$@ $(MSP432P401X_OBJS) -Tmsp432p401x/msp432p401x.lds
67 @echo 'Finished building target: $@'
70 msp432p411x_algo.out: $(MSP432P411X_OBJS)
71 @echo 'Building target: $@'
72 @echo 'Invoking: GNU Linker'
73 $(GCC) $(FLAGS) $(LDFLAGS) -o$@ $(MSP432P411X_OBJS) -Tmsp432p411x/msp432p411x.lds
74 @echo 'Finished building target: $@'
78 @echo 'Building target: $@'
79 @echo 'Invoking: GNU Objcopy Utility'
80 $(OBJCOPY) -Obinary $< $@
81 @echo 'Finished building target: $@'
85 @echo 'Building target: $@'
86 @echo 'Invoking Bin2Char Script'
89 @echo 'Finished building target: $@'
93 @echo 'Cleaning Targets and Build Artifacts'
94 rm -rf *.inc *.bin *.out *.map
95 rm -rf msp432e4x/*.o msp432e4x/*.d
96 rm -rf msp432p401x/*.o msp432p401x/*.d
97 rm -rf msp432p411x/*.o msp432p411x/*.d
98 @echo 'Finished clean'