mirror of
https://github.com/gnuton/asuswrt-merlin.ng.git
synced 2025-05-19 16:02:36 +02:00
257 lines
7.7 KiB
Makefile
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
|