asuswrt-merlin.ng/release/src-rt-5.02axhnd/rdp/drivers/rdpa/Makefile
2020-08-30 13:27:47 -04:00

257 lines
7.7 KiB
Makefile

#***********************************************************************
#
# Copyright (c) 2014 Broadcom Corporation
# All Rights Reserved
#
#
# Makefile for Runner Data Path API (RDPA), includes RDPA kernel module and RDPA simulator for x86
#
#***********************************************************************
RDP_TARGET ?= target
include $(PROJECT_DIR)/make.proj_flags
-include $(PROJECT_DIR)/$(RDP_TARGET)/rdpa/make.proj_objs
ifeq ("$(CONFIG_SYSTEM)", "sim")
include $(TOP_DIR)/make.common
endif
# Set the following options according to configuration
CONFIG_SYSTEM ?= sim
CONFIG_BDMF_DEBUG ?= y
CONFIG_EDITLINE ?= n
ifneq (x"$(V)", x"1")
SILENT_BUILD = @
endif
ifeq ("$(CONFIG_SYSTEM)", "sim")
BUILDARCH=$(shell uname -i)
CC ?= gcc
AR ?= ar
_CFLAGS = -g -Wall -Werror -std=gnu99 $(HOST_PLATFORM_FLAGS) $(COMMON_CFLAGS) $(EXTRA_DEFINES) -DBDMF_SYSTEM_SIM -DRDP_SIM
LFLAGS = $(HOST_PLATFORM_FLAGS) -g -D$(PLATFORM)
ARLAGS = -s
LIBS = -L$(PROJ_BDMF_TARGET) -L$(PROJ_RDD_TARGET) -L$(PROJ_RDP_SUBSYS_TARGET) -lrdpsubsys -lbdmf -lrdd -lrt -lpthread
endif
ifneq (,$(findstring XRDP_EMULATION,$(PROJ_DEFS)))
OBJS = rdpa_emu_module.o $(RDPA_OBJS) misc_shell.o
else
OBJS = rdpa_module.o $(RDPA_OBJS) misc_shell.o rdpa_module_fini.o
endif
ifeq ("$(CONFIG_SYSTEM)", "linux")
RDD_SRCS = $(notdir $(shell ls $(PROJECT_DIR)/$(RDP_TARGET)/rdd/*.c))
RDD_OBJS = $(join $(addsuffix ../rdd/, $(dir $(RDD_SRCS))), $(notdir $(RDD_SRCS:.c=.o)))
SUBSYS_SRCS = $(notdir $(shell ls $(PROJECT_DIR)/$(RDP_TARGET)/rdp_subsystem/*.c))
SUBSYS_OBJS += $(join $(addsuffix ../rdp_subsystem/, $(dir $(SUBSYS_SRCS))), $(notdir $(SUBSYS_SRCS:.c=.o)))
ifneq (,$(findstring XRDP,$(PROJ_DEFS)))
ifeq ("$(CONFIG_64BIT)" ,"y")
EXTRA_DEFINES += -DPHYS_ADDR_64BIT
endif
ifneq ($(CONFIG_BCM_WLAN),)
EXTRA_DEFINES += -I$(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/include
EXTRA_DEFINES += -I$(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/main/src/include
EXTRA_DEFINES += -I$(BRCMDRIVERS_DIR)/broadcom/net/wl/shared/impl1
EXTRA_DEFINES += -DDSLCPE -DBCMDRIVER -DPKTC
endif
endif
EXTRA_DEFINES += -DBDMF_SYSTEM_LINUX -DUSE_BDMF_SHELL
ifneq ("$(CONFIG_BCM_RDPA_GPL)",)
EXTRA_DEFINES += -DBDMF_DRIVER_GPL_LAYER
endif
ifeq ("$(CONFIG_BCM_DHD_RUNNER)",)
EXTRA_DEFINES += -UCONFIG_DHD_RUNNER
endif
ifneq ($(CONFIG_BCM_GLB_COHERENCY),)
EXTRA_DEFINES += -DCONFIG_BCM_CACHE_COHERENCY
endif
EXTRA_CFLAGS = -Werror $(INC_RDP_FLAGS) $(EXTRA_DEFINES) --include bl_os_wraper.h
obj-$(CONFIG_BCM_RDPA) = rdpa.o
OBJS += $(RDD_OBJS)
OBJS += $(SUBSYS_OBJS)
ifneq ($(PREBUILT_EXTRAMOD),1)
rdpa-objs = $(OBJS)
else
rdpa-objs := rdpa$(PRBM_EXT).o
endif
endif
_CFLAGS += $(PROJ_CFLAGS)
ifeq ("$(CONFIG_SYSTEM)", "sim")
RDPA_OBJS += rdpa_main.o
ifeq ($(PKTRUNNER_UT_SIM),y)
RDPA_OBJS += pktrunner_proto.o pktrunner_ucast.o pktrunner_mcast.o pktrunner_wlan_mcast.o pktrunner_l2_ucast.o rdpa_blog.o cmdlist_driver.o cmdlist_ucast.o cmdlist_l2_ucast.o cmdlist_mcast.o gpe_api.o
_CFLAGS += -I$(PKTRNR_SOURCE_DIR) \
-I$(PKTRNR_SHARED_DIR) \
-I$(CMDLIST_SOURCE_DIR) \
-I$(BCM963XX_INCLUDE_DIR) \
-I$(TOP_DIR)/drivers/rdpa/sim \
-DCC_PKTRUNNER_IPV6 \
-DCC_CMDLIST_IPV6 \
-DCONFIG_CMDLIST_GPE
pktrunner_proto.c:
$(LN) $(PKTRNR_SOURCE_DIR)/pktrunner_proto.c
pktrunner_ucast.c:
$(LN) $(PKTRNR_SOURCE_DIR)/pktrunner_ucast.c
pktrunner_mcast.c:
$(LN) $(PKTRNR_SOURCE_DIR)/pktrunner_mcast.c
pktrunner_l2_ucast.c:
$(LN) $(PKTRNR_SOURCE_DIR)/pktrunner_l2_ucast.c
pktrunner_wlan_mcast.c:
$(LN) $(PKTRNR_SHARED_DIR)/pktrunner_wlan_mcast.c
cmdlist_driver.c:
$(LN) $(CMDLIST_SOURCE_DIR)/cmdlist_driver.c
cmdlist_ucast.c:
$(LN) $(CMDLIST_SOURCE_DIR)/cmdlist_ucast.c
cmdlist_l2_ucast.c:
$(LN) $(CMDLIST_SOURCE_DIR)/cmdlist_l2_ucast.c
cmdlist_mcast.c:
$(LN) $(CMDLIST_SOURCE_DIR)/cmdlist_mcast.c
gpe_api.c:
$(LN) $(CMDLIST_SOURCE_DIR)/gpe_api.c
endif
endif
ifeq ("$(CONFIG_BDMF_DEBUG)", "y")
EXTRA_DEFINES += -DBDMF_DEBUG
endif
ifeq ("$(CONFIG_EDITLINE)", "y")
EXTRA_DEFINES += -DBDMF_EDITLINE
LIBS += -ledit -ltermcap
endif
# Autogenerated headers and gpl shim location
RDPA_GPL_DIR = $(PROJECT_DIR)/$(RDP_TARGET)/rdpa_gpl
RDPA_INC_DIR = $(PROJECT_DIR)/$(RDP_TARGET)/rdpa_gpl
RDPA_INC_AG_DIR = $(PROJECT_DIR)/$(RDP_TARGET)/rdpa_gpl
RDPA_USR_HOME_DIR = $(DRIVERS_DIR)/rdpa_user
RDPA_USR_DIR = $(RDPA_USR_HOME_DIR)/include/autogen
AGH_DONE = $(RDPA_GPL_DIR)/agh_generated
UPD_LICENSE = $(PERL) $(TOOLS_BIN)/update_licenses.pl
RDPA_AG_DIR = $(DRIVERS_DIR)/rdpa_gpl/include/autogen
RDP_UT_PY_DIR ?= $(DRIVERS_DIR)/../ut_common/ut_package/ag
#
# Simulation build
#
ifeq ("$(CONFIG_SYSTEM)", "sim")
all: sim_all
ifneq (,$(findstring XRDP_EMULATION,$(PROJ_DEFS)))
sim_all: lib
else
sim_all: build_and_generate_headers rebuild
endif
$(OBJS): %.o: %.c
$(SILENT_BUILD)$(VALIDATE_FILES) $<
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
$(PROJ_RDPA_TARGET)/%.d: %.c Makefile
$(SILENT_BUILD)$(CC) -MM -MT $(PROJ_RDPA_TARGET)/$(<:.c=.o) $(_CFLAGS) $< | sed 's,\($*\.o\)[ :]*,\1 $@ : ,g' > $@
-include $(OBJS:.o=.d)
endif
validate:
$(SILENT_BUILD)$(VALIDATE_FILES) *.h
$(SILENT_BUILD)$(VALIDATE_FILES) $(RDPA_INC_DIR)/*.h
build_and_generate_headers: $(PROJ_RDPA_TARGET)/rdpa agh
rebuild: validate $(PROJ_RDPA_TARGET)/rdpa
$(PROJ_RDPA_TARGET)/rdpa: $(OBJS) $(PROJ_RDP_SUBSYS_TARGET)/librdpsubsys.a $(PROJ_RDD_TARGET)/librdd.a $(PROJ_BDMF_TARGET)/libbdmf.a
$(SILENT_BUILD)$(CC) -o $@ $(LFLAGS) $(OBJS) $(LIBS)
agh: $(AGH_DONE)
lib: $(OBJS)
$(AR) $(PROJ_RDPA_TARGET)/librdpa.a $(OBJS)
rdpa_lib_test:
$(CC) $(_CFLAGS) -c rdpa_lib_test.c -o rdpa_lib_test.o
$(CC) -o $@ $(LFLAGS) $(OBJS) rdpa_lib_test.o $(LIBS)
$(AGH_DONE): *.c $(RDPA_INC_DIR)/*.h $(PROJ_BDMF_TARGET)/libbdmf.a $(PROJ_RDPA_TARGET)/rdpa
$(SILENT_BUILD)chmod +w $(RDPA_INC_AG_DIR)/*.h $(RDPA_GPL_DIR)/*.c $(RDPA_USR_DIR)/*.h $(RDPA_USR_HOME_DIR)/*_ag.* $(RDPA_USR_HOME_DIR)/autogen/*.h
$(SILENT_BUILD)rm -f $(RDP_UT_PY_DIR)/*.py
sed "s@AG_INC_DIR@$(RDPA_INC_AG_DIR)@" gen_headers.bdmf | \
sed "s@AG_GPL_DIR@$(RDPA_GPL_DIR)@" | \
sed "s@UT_PY_DIR@$(RDP_UT_PY_DIR)@" | \
sed "s@AG_USR_DIR@$(RDPA_USR_DIR)@" | $(PROJ_RDPA_TARGET)/rdpa
$(SILENT_BUILD)$(UPD_LICENSE) --stage=1 $(RDPA_INC_AG_DIR)
$(SILENT_BUILD)$(UPD_LICENSE) --stage=1 $(RDPA_USR_DIR)
$(SILENT_BUILD)$(UPD_LICENSE) --stage=1 $(RDPA_AG_DIR)
$(SILENT_BUILD)$(UPD_LICENSE) --stage=1 $(DRIVERS_DIR)/rdpa_gpl
$(SILENT_BUILD)touch $(AGH_DONE)
clean:
$(SILENT_BUILD)rm -fr $(PROJ_RDPA_TARGET)/*.[o,d]
$(SILENT_BUILD)rm -fr $(PROJ_RDPA_TARGET)/*~
$(SILENT_BUILD)rm -fr $(PROJ_RDPA_TARGET)/*.ko
$(SILENT_BUILD)rm -fr $(PROJ_RDPA_TARGET)/rdpa.mod.c modules.order $(PROJ_RDPA_TARGET)/Module.symvers $(PROJ_RDPA_TARGET)/.tmp_versions
$(SILENT_BUILD)rm -fr $(PROJ_RDPA_TARGET)/.*.cmd
$(SILENT_BUILD)rm -fr $(PROJ_RDPA_TARGET)/rdpa
$(SILENT_BUILD)rm -f $(RDP_UT_PY_DIR)/*.py
ifeq ($(PKTRUNNER_UT_SIM),y)
rdpa_blog.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
pktrunner_proto.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
pktrunner_ucast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
pktrunner_mcast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
pktrunner_l2_ucast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
cmdlist_driver.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
cmdlist_ucast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
cmdlist_l2_ucast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
cmdlist_mcast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
gpe_api.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
pktrunner_wlan_mcast.o:
$(SILENT_BUILD)$(CC) $(_CFLAGS) -c -o $@ $<
endif