blob: 3dc7fcb802de44f316929f394351055533bc3177 (
plain)
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
81
82
83
84
85
86
87
88
89
90
91
92
|
#
# Copyright 2019 Ettus Research, a National Instruments Brand
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
IMGOUT = usrp_b200_bl.img
all:$(IMGOUT)
BL_ROOT=../../boot_fw
BL_INC=$(BL_ROOT)/include
BL_LIB=$(BL_ROOT)/lib
BL_CYP_SRC=$(BL_ROOT)/src
ELF2IMG_SRC=../../elf2img/elf2img.c
ELF2IMG=elf2img
CYFXBUILD = gcc
include fx3_build_config.mak
MODULE = cyfx_boot_app
APP_SOURCE = main.c usb_boot.c usb_descriptors.c ../common/common_descriptors.c ../common/common_helpers.c
INCFLAGS = -I$(BL_INC) -I../common
APP_OBJECT=$(APP_SOURCE:%.c=./%.o)
APP_ASM_OBJECT=$(APP_ASM_SOURCE:%.S=./%.o)
EXES = $(MODULE).$(EXEEXT)
ifeq ($(CYFXBUILD), gcc)
APP_ASM_SOURCE = cyfx_gcc_startup.S
else
APP_ASM_SOURCE =
endif
$(APP_ASM_OBJECT) : %.o : %.S
$(ASSEMBLE)
$(APP_OBJECT) : %.o : %.c ../lib/cyfx3_boot.a cyfx3.ld
$(COMPILE) $(INCFLAGS)
$(MODULE).$(EXEEXT): $(APP_OBJECT) $(APP_ASM_OBJECT)
$(LINK)
$(ELF2IMG):
gcc -o $(ELF2IMG) $(ELF2IMG_SRC)
fx3_build_config.mak:
cp $(BL_CYP_SRC)/fx3_build_config.mak .
fx3_armgcc_config.mak:
cp $(BL_CYP_SRC)/fx3_armgcc_config.mak .
cyfx_gcc_startup.S:
cp $(BL_CYP_SRC)/cyfx_gcc_startup.S .
cyfx3.ld:
cp $(BL_CYP_SRC)/cyfx3.ld .
../lib/cyfx3_boot.a:
mkdir -p ../lib
cp $(BL_LIB)/cyfx3_boot.a ../lib
clean:
rm -f ./$(MODULE).$(EXEEXT)
rm -f ./$(MODULE).map
rm -f ./$(IMGOUT)
rm -f ./fx3_build_config.mak
rm -f ./fx3_armgcc_config.mak
rm -f ./cyfx_gcc_startup.S
rm -f ./cyfx3.ld
rm -f ../lib/cyfx3_boot.a
rmdir ../lib --ignore-fail-on-non-empty
rm -f ./*.o
rm -f ../common/*.o
rm -f ./$(ELF2IMG)
ifeq ($(CYFXBUILD), gcc)
rm -f ./gcceclipse_files/*.o
endif
compile: $(APP_OBJECT) $(APP_ASM_OBJECT) $(EXES)
$(IMGOUT): compile $(EXES) $(ELF2IMG)
./$(ELF2IMG) -i $(EXES) -o $(IMGOUT) -i2cconf 0x1A
#[]#
|