164 lines
4.2 KiB
Makefile
164 lines
4.2 KiB
Makefile
#example source paths
|
|
API_PATH = api
|
|
ADI_PATH = adrv9025
|
|
UCP4008_PATH = ucp
|
|
|
|
#Include paths
|
|
UCP4008_INCL = $(UCP4008_PATH)/inc
|
|
ADI_APP_INCL = $(ADI_PATH)/c_src/app/example
|
|
ADI_ADRV9025_INCL = $(ADI_PATH)/c_src/devices/adrv9025/public/include
|
|
ADI_AD9528_INCL = $(ADI_PATH)/c_src/devices/ad9528/public/include
|
|
ADI_COMMON_INCL = $(ADI_PATH)/c_src/common
|
|
ADI_COMMON_ERROR_INCL = $(ADI_PATH)/c_src/common/adi_error
|
|
ADI_COMMON_LOGGING_INCL = $(ADI_PATH)/c_src/common/adi_logging
|
|
ADI_COMMON_HAL_INCL = $(ADI_PATH)/c_src/common/adi_hal
|
|
ADI_PLATFORM_INCL = $(ADI_PATH)/c_src/platforms
|
|
ADI_PLATFORM_UTILS_INCL = $(ADI_PATH)/c_src/platforms/platform_utils
|
|
|
|
#src paths
|
|
UCP4008_SRC = $(UCP4008_PATH)/
|
|
API_SRC = $(API_PATH)
|
|
ADI_APP_SRC = $(ADI_PATH)/c_src/app/
|
|
ADI_PLATFORM_SRC = $(ADI_PATH)/c_src/platforms
|
|
ADI_UCP2PLATFORM_SRC = $(ADI_PATH)/c_src/platforms/ucp2/
|
|
ADI_COMMON_SRC = $(ADI_PATH)/c_src/common
|
|
ADI_COMMON_ERROR_SRC = $(ADI_PATH)/c_src/common/adi_error
|
|
ADI_COMMON_LOGGING_SRC = $(ADI_PATH)/c_src/common/adi_logging
|
|
ADI_COMMON_HAL_SRC = $(ADI_PATH)/c_src/common/adi_hal
|
|
ADI_AD9528_SRC = $(ADI_PATH)/c_src/devices/ad9528
|
|
ADI_ADRV9025_SRC = $(ADI_PATH)/c_src/devices/adrv9025
|
|
|
|
#LIBs to link
|
|
LIB_UCP4008 = $(UCP4008_PATH)/libjesd.a
|
|
LIB_API = $(API_PATH)/libapi.a
|
|
LIB_ADI_APP = $(ADI_PATH)/c_src/app/libadi_app.a
|
|
LIB_ADI_ADRV9025_DEVICE = $(ADI_PATH)/c_src/devices/adrv9025/libadi_adrv9025.a
|
|
LIB_ADI_COMMON_DEVICE = $(ADI_PATH)/c_src/common/libadi_common.a
|
|
LIB_ADI_PLATFORM = $(ADI_PATH)/c_src/platforms/libadi_platform.a
|
|
LIB_ADI_UCP2PLATFORM = $(ADI_PATH)/c_src/platforms/ucp2/libadi_ucp2platform.a
|
|
LIB_ADI_AD9528 = $(ADI_PATH)/c_src/devices/ad9528/libadi_ad9528.a
|
|
|
|
arch = arm64
|
|
CROSS_CC ?= aarch64-linux-gnu-
|
|
|
|
ifeq ($(arch),x86)
|
|
CC = gcc
|
|
LD = gcc
|
|
else
|
|
CC = $(CROSS_CC)gcc
|
|
LD = $(CROSS_CC)gcc
|
|
endif
|
|
|
|
ARFLAGS = -rv
|
|
CFLAGS = -Wall -Wchar-subscripts -Wshadow -DDEBUG=1 -DGTEST=1 \
|
|
-I$(UCP4008_INCL) \
|
|
-I$(JSON_INCL) \
|
|
-I$(API_INCL) \
|
|
-I$(ADI_APP_INCL) \
|
|
-I$(ADI_ADRV9025_INCL) \
|
|
-I$(ADI_AD9528_INCL) \
|
|
-I$(ADI_COMMON_INCL) \
|
|
-I$(ADI_COMMON_ERROR_INCL) \
|
|
-I$(ADI_COMMON_LOGGING_INCL) \
|
|
-I$(ADI_COMMON_HAL_INCL) \
|
|
-I$(ADI_PLATFORM_INCL) \
|
|
-I$(ADI_PLATFORM_UTILS_INCL) \
|
|
-Werror
|
|
|
|
TARGET = rfic.out
|
|
TARGET_LIB = librfic.a
|
|
|
|
SRC_RFIC = $(wildcard ./demo/rfic.c)
|
|
OBJS_RFIC = $(SRC_RFIC:.c=.o)
|
|
|
|
#All DEPS are built by adi_adrv9025_board_lib
|
|
DEPS = $(LIB_UCP4008) \
|
|
$(LIB_API) \
|
|
$(LIB_ADI_APP) \
|
|
$(LIB_ADI_ADRV9025_DEVICE) \
|
|
$(LIB_ADI_COMMON_DEVICE) \
|
|
$(LIB_ADI_PLATFORM) \
|
|
$(LIB_ADI_UCP2PLATFORM) \
|
|
$(LIB_ADI_AD9528)
|
|
|
|
all: lib $(TARGET)
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
lib: $(TARGET_LIB)
|
|
|
|
$(TARGET): $(OBJS_RFIC) $(OBJS_JESD)
|
|
$(LD) -o $@ $(OBJS_RFIC) $(TARGET_LIB) -lm
|
|
mkdir -p ./out/jesd
|
|
cp ./ucp/libjesd.a ./out/jesd/
|
|
cp ./ucp/inc/ucp_api_jesd.h ./out/jesd/
|
|
cp ./api/src/ucp_jesd_initdata.c ./out/jesd/
|
|
mkdir -p ./out/rfic
|
|
mv librfic.a ./out/rfic/
|
|
cp ./api/inc/ucp_api_rfic.h ./out/rfic/
|
|
cp ./api/src/ucp_jesd_initdata.c ./out/rfic/
|
|
mkdir -p ./out/app
|
|
mv rfic.out ./out/app
|
|
|
|
$(TARGET_LIB): adi_lib api_lib
|
|
mkdir -p ./out/obj
|
|
ar x $(LIB_UCP4008)
|
|
ar x $(LIB_API)
|
|
ar x $(LIB_ADI_APP)
|
|
ar x $(LIB_ADI_ADRV9025_DEVICE)
|
|
ar x $(LIB_ADI_COMMON_DEVICE)
|
|
ar x $(LIB_ADI_PLATFORM)
|
|
ar x $(LIB_ADI_UCP2PLATFORM)
|
|
ar x $(LIB_ADI_AD9528)
|
|
mv *.o ./out/obj
|
|
ar -rv $@ ./out/obj/*.o
|
|
rm -rf demo/*.o
|
|
$(MAKE) -C $(API_SRC) clean
|
|
$(MAKE) -C $(ADI_APP_SRC) clean
|
|
$(MAKE) -C $(ADI_PLATFORM_SRC) clean
|
|
$(MAKE) -C $(ADI_UCP2PLATFORM_SRC) clean
|
|
$(MAKE) -C $(ADI_COMMON_SRC) clean
|
|
$(MAKE) -C $(ADI_AD9528_SRC) clean
|
|
$(MAKE) -C $(ADI_ADRV9025_SRC) clean
|
|
|
|
adi_lib: adi_app_lib \
|
|
adi_platform_lib \
|
|
adi_common_lib \
|
|
adi_ad9528_lib \
|
|
adi_adrv9025_lib
|
|
|
|
api_lib:
|
|
$(MAKE) -C $(API_SRC) CC=$(CC)
|
|
|
|
adi_app_lib:
|
|
$(MAKE) -C $(ADI_APP_SRC) CC=$(CC)
|
|
|
|
adi_platform_lib:
|
|
$(MAKE) -C $(ADI_PLATFORM_SRC) CC=$(CC)
|
|
|
|
adi_common_lib:
|
|
$(MAKE) -C $(ADI_COMMON_SRC) CC=$(CC)
|
|
|
|
adi_ad9528_lib:
|
|
$(MAKE) -C $(ADI_AD9528_SRC) CC=$(CC)
|
|
|
|
adi_adrv9025_lib:
|
|
$(MAKE) -C $(ADI_ADRV9025_SRC) CC=$(CC)
|
|
|
|
clean:
|
|
$(MAKE) -C $(API_SRC) clean
|
|
$(MAKE) -C $(ADI_PLATFORM_SRC) clean
|
|
$(MAKE) -C $(ADI_UCP2PLATFORM_SRC) clean
|
|
$(MAKE) -C $(ADI_COMMON_SRC) clean
|
|
$(MAKE) -C $(ADI_AD9528_SRC) clean
|
|
$(MAKE) -C $(ADI_ADRV9025_SRC) clean
|
|
rm -rf demo/*.o
|
|
rm -rf ./out
|
|
rm -rf ./api/*.a
|
|
|
|
clr:
|
|
$(MAKE) clean
|
|
rm -rf ./out
|
|
|
|
|