File: Makefile

package info (click to toggle)
bladerf 0.2022.11-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 373,752 kB
  • sloc: ansic: 1,186,428; xml: 150,799; vhdl: 24,182; tcl: 15,408; python: 3,409; sh: 1,551; makefile: 1,255; asm: 158; csh: 18; cpp: 9
file content (84 lines) | stat: -rw-r--r-- 3,755 bytes parent folder | download | duplicates (2)
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
#------------------------------------------------------------------------------
#              VARIABLES TO BE DEFINED BY PLATFORM MAKEFILE
#------------------------------------------------------------------------------

# paths are relative to hdl/fpga/platforms/bladerf-micro/software/foxhunt

FPGA_COMMON_DIR     := ../../../../../../fpga_common
LIBBLADERF_DIR      := ../../../../../../host/libraries/libbladeRF
BLADERF_COMMON_DIR  := ../../../common/bladerf/software/bladeRF_nios
HOST_COMMON_DIR     := ../../../../../../host/common
FIRMWARE_COMMON_DIR := ../../../../../../firmware_common
NIOS_MAIN_DIR       := ../bladeRF_nios

QUARTUS_WORKDIR     := ../../../../../quartus/${WORKDIR}
NIOS_BUILD_OUTDIR   := $(QUARTUS_WORKDIR)/foxhunt
MEM_INIT_DIR        := $(NIOS_BUILD_OUTDIR)/mem_init
BSP_BUILD_OUTDIR    := $(QUARTUS_WORKDIR)/bladeRF_nios_bsp
QUARTUS_OUTDIR      := $(QUARTUS_WORKDIR)/output_files

ALT_INCLUDE_DIRS    += ./src
ALT_INCLUDE_DIRS    += $(NIOS_MAIN_DIR)/src

C_SRCS              += ./src/main.c
C_SRCS              += ./src/morse.c
C_SRCS              += $(FPGA_COMMON_DIR)/src/ad936x_helpers.c
C_SRCS              += $(FPGA_COMMON_DIR)/src/bladerf2_common.c
C_SRCS              += $(BLADERF_COMMON_DIR)/src/devices_rfic.c
C_SRCS              += $(BLADERF_COMMON_DIR)/src/devices_rfic_cmds.c
C_SRCS              += $(BLADERF_COMMON_DIR)/src/devices_rfic_queue.c
C_SRCS              += $(HOST_COMMON_DIR)/src/range.c

CFLAGS              += -DBOARD_BLADERF_MICRO # -DBLADERF_NIOS_DEBUG

# libad936x build configuration and lib inclusion
# These variables need to be set before including the common Makefile.
LIBAD936X_BUILDDIR  := $(QUARTUS_WORKDIR)/libad936x
LIBAD936X_DIR       := ../../../../fpga/ip/analogdevicesinc/no_OS

INC_DIRS            += $(LIBAD936X_BUILDDIR) \
                       ../$(LIBAD936X_DIR)/include \
                       ../../../../../../host/common/include

LIB_DIRS            += $(LIBAD936X_BUILDDIR)
LDDEPS              += $(LIBAD936X_BUILDDIR)/libad936x.a
LIBS                += ad936x

#------------------------------------------------------------------------------
#              INCLUDE THE COMMON MAKEFILE
#------------------------------------------------------------------------------

include $(BLADERF_COMMON_DIR)/Makefile

#------------------------------------------------------------------------------
#              AD936X LIBRARY
#------------------------------------------------------------------------------

# Two-stage build:
# - cmake:  shuffle files, apply patches, generate Makefile
# - make:   do the actual compile, generate libad936x.a

# if any source file changes, re-run cmake so that patching, etc, occurs
LIBAD936X_MAKE_DEP  :=  ../../../../ip/analogdevicesinc/no_OS/CMakeLists.txt \
                        ../../../../../../thirdparty/analogdevicesinc/no-OS/ad9361/sw/* \
                        ../../../../../../thirdparty/analogdevicesinc/no-OS_local/patches/* \
                        ../../../../../../thirdparty/analogdevicesinc/no-OS_local/platform_bladerf2_headless/*

LIBAD936X_BUILD_DEP :=  $(LIBAD936X_BUILDDIR)/Makefile

# override clean_libs to ensure libad936x gets cleaned
clean_libs: $(LIB_CLEAN_TARGETS) clean_libad936x

clean_libad936x:
	@$(ECHO) Info: Cleaning libad936x
	@$(MAKE) --no-print-directory -C $(LIBAD936X_BUILDDIR) clean

$(LIBAD936X_BUILDDIR)/Makefile: $(LIBAD936X_MAKE_DEP)
	@$(ECHO) Info: Generating libad936x Makefile
	@mkdir -p $(LIBAD936X_BUILDDIR)
	@cd $(LIBAD936X_BUILDDIR) && \
		cmake -DCMAKE_TOOLCHAIN_FILE=$(LIBAD936X_DIR)/cmake/nios-toolchain.cmake $(LIBAD936X_DIR)

$(LIBAD936X_BUILDDIR)/libad936x.a: $(LIBAD936X_BUILD_DEP)
	@$(ECHO) Info: Building libad936x
	@$(MAKE) --no-print-directory -C $(LIBAD936X_BUILDDIR) ad936x