#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