| PLATFORM?=C2000 |
| UNIT_TEST?=n |
| UNIT_TEST_HIF?=n |
| #PLATFORM?=EMULATION |
| #PLATFORM?=PCI |
| #UNIT_TEST?=y |
| #UNIT_TEST_HIF?=y |
| |
| ifeq ($(PLATFORM),C2000) |
| CROSS_COMPILE?=/home/upputuv/work/C2000/WiFi/porting_lsdk-10.1.45/sdk-cpe/staging_dir/toolchain-arm_v7-a_gcc-4.5-linaro_glibc-2.14_eabi/bin/arm-openwrt-linux- |
| KERNELDIR?=/home/upputuv/work/C2000/WiFi/porting_lsdk-10.1.45/sdk-cpe/build_dir/linux-comcerto2000_hgw/linux-3.2.26 |
| ARCH=arm |
| else |
| ARCH=x86 |
| KERNELDIR=/lib/modules/`uname -r`/build |
| endif |
| |
| # The following must be a relative path, or the kernel build system will fail |
| PFE_DIR?=../pfe |
| |
| PFE_CTRL_VERSION_FILE:=version.h |
| |
| |
| all: version config modules |
| |
| modules clean: |
| make CROSS_COMPILE="$(CROSS_COMPILE)" V=1 ARCH=$(ARCH) -C $(KERNELDIR) M=`pwd` $@ |
| |
| EXTRA_CFLAGS += -Werror -include $(src)/$(PFE_DIR)/c2000/version.h -I$(src)/$(PFE_DIR)/c2000 -I$(src)/$(PFE_DIR)/common -I$(src) -DENDIAN_LITTLE -DGCC_TOOLCHAIN -DCOMCERTO_2000 -DCOMCERTO_2000_CONTROL |
| |
| EXTRA_LDFLAGS += -T$(src)/control_link.lds |
| |
| obj-m += pfe.o |
| |
| pfe_ctrl_objs = $(PFE_DIR)/c2000/__pfe_ctrl.o \ |
| $(PFE_DIR)/c2000/pfe.o \ |
| $(PFE_DIR)/common/control_ipv4.o \ |
| $(PFE_DIR)/common/control_ipv6.o \ |
| $(PFE_DIR)/common/ipv6.o \ |
| $(PFE_DIR)/common/control_mc4.o \ |
| $(PFE_DIR)/common/control_mc6.o \ |
| $(PFE_DIR)/common/multicast.o \ |
| $(PFE_DIR)/common/control_pppoe.o \ |
| $(PFE_DIR)/common/control_vlan.o \ |
| $(PFE_DIR)/common/control_macvlan.o \ |
| $(PFE_DIR)/common/query_ipv4.o \ |
| $(PFE_DIR)/common/query_ipv6.o \ |
| $(PFE_DIR)/common/query_mc.o \ |
| $(PFE_DIR)/common/query_pppoe.o \ |
| $(PFE_DIR)/common/query_vlan.o \ |
| $(PFE_DIR)/common/query_tunnel.o \ |
| $(PFE_DIR)/common/query_ipsec.o \ |
| $(PFE_DIR)/common/query_Rx.o \ |
| $(PFE_DIR)/c2000/control_expt.o \ |
| $(PFE_DIR)/common/control_tunnel.o \ |
| $(PFE_DIR)/common/module_hidrv.o \ |
| $(PFE_DIR)/c2000/control_storage.o \ |
| $(PFE_DIR)/common/layer2.o \ |
| $(PFE_DIR)/common/alt_conf.o \ |
| $(PFE_DIR)/common/control_stat.o \ |
| $(PFE_DIR)/c2000/control_rx.o \ |
| $(PFE_DIR)/c2000/control_tx.o \ |
| $(PFE_DIR)/common/control_socket.o \ |
| $(PFE_DIR)/common/control_rtp_relay.o \ |
| $(PFE_DIR)/common/control_common.o \ |
| $(PFE_DIR)/c2000/control_qm.o \ |
| $(PFE_DIR)/common/fppdiag_lib.o \ |
| $(PFE_DIR)/c2000/control_icc.o \ |
| $(PFE_DIR)/common/control_voicebuf.o \ |
| $(PFE_DIR)/common/control_ipsec.o \ |
| $(PFE_DIR)/c2000/control_ipsec.o \ |
| $(PFE_DIR)/c2000/control_ipsec_standalone.o \ |
| $(PFE_DIR)/common/control_bridge.o \ |
| $(PFE_DIR)/common/control_wifi_rx.o \ |
| $(PFE_DIR)/c2000/control_ipsec.o \ |
| $(PFE_DIR)/common/control_natpt.o \ |
| $(PFE_DIR)/common/control_ipv4frag.o \ |
| $(PFE_DIR)/common/control_ipv6frag.o \ |
| $(PFE_DIR)/common/control_capture.o \ |
| $(PFE_DIR)/c2000/control_l2tp.o \ |
| |
| pfe-y += pfe_mod.o \ |
| pfe_hw.o \ |
| pfe_firmware.o \ |
| pfe_ctrl.o \ |
| pfe_ctrl_hal.o \ |
| pfe_hif.o \ |
| pfe_hif_lib.o\ |
| pfe_eth.o \ |
| pfe_pcap.o \ |
| pfe_vwd.o \ |
| pfe_perfmon.o \ |
| pfe_tso.o \ |
| pfe_sysfs.o \ |
| pfe_diags.o \ |
| $(pfe_ctrl_objs) \ |
| |
| pfe-$(CONFIG_COMCERTO_MSP) += pfe_mspsync.o |
| |
| ifeq ($(UNIT_TEST),y) |
| pfe-y += pfe_unit_test.o |
| EXTRA_CFLAGS+=-DCONFIG_UNIT_TEST |
| |
| ifeq ($(UNIT_TEST_HIF),y) |
| EXTRA_CFLAGS+=-DCONFIG_UNIT_TEST_HIF |
| endif |
| |
| endif |
| |
| ifeq ($(PLATFORM),C2000) |
| pfe-y += pfe_platform.o |
| EXTRA_CFLAGS+=-DCONFIG_PLATFORM_C2000 |
| else ifeq ($(PLATFORM),PCI) |
| pfe-y += pfe_pci.o |
| EXTRA_CFLAGS+=-DCONFIG_PLATFORM_PCI |
| EXTRA_CFLAGS+=-DCONFIG_UTIL_DISABLED |
| #EXTRA_CFLAGS+=-DCONFIG_TMU_DUMMY |
| else ifeq ($(PLATFORM),EMULATION) |
| pfe-y += pfe_emulation.o |
| EXTRA_CFLAGS+=-DCONFIG_PLATFORM_EMULATION |
| endif |
| |
| distclean: |
| rm -rf pfe_ctrl-src.tar.gz pfe-src.tar.gz |
| |
| dist: all pfe_release_tar |
| pfe_ctrl_files="`find . -name '*.h'; find . -name '*.c'; find . -name '*.lds'; find . -name 'Makefile'`"; tar -czf pfe_ctrl-src.tar.gz $$pfe_ctrl_files |
| |
| pfe_release_tar: |
| pfe_files="`find $(PFE_DIR)/c2000 -name '*.h'; find $(PFE_DIR)/common -name '*.h'` $(PFE_DIR)/Makefile $(PFE_DIR)/config.mk $(PFE_DIR)/c2000/config.mk $(PFE_DIR)/toolchain.mk $(PFE_DIR)/license.txt $(PFE_DIR)/license_full.txt $(pfe_ctrl_objs:.o=.c)"; tar -cf pfe-src.tar $$pfe_files; tar -xf pfe-src.tar;bash pfe_licence.sh `basename $(PFE_DIR)`; rm `basename $(PFE_DIR)`/license.txt `basename $(PFE_DIR)`/license_full.txt;tar -czf pfe-src.tar.gz `basename $(PFE_DIR)` |
| |
| version: |
| if [ -d .git ]; then \ |
| make -C $(PFE_DIR) version ; \ |
| PFE_CTRL_GIT_VERSION=$$(git describe --always --tags --dirty) ; \ |
| printf "/*Auto-generated file. Do not edit !*/\n#ifndef VERSION_H\n#define VERSION_H\n\n#define PFE_CTRL_VERSION \"$${PFE_CTRL_GIT_VERSION}\"\n\n#endif /* VERSION_H */\n" > $(PFE_CTRL_VERSION_FILE) ; \ |
| fi |
| |
| config: |
| make -C $(PFE_DIR) config_check |
| |
| PFE_BIN_DIR=$(PFE_DIR)/obj_c2000/ |
| CLASS_BIN=$(PFE_BIN_DIR)/class/class_c2000_debug.elf |
| UTIL_BIN=$(PFE_BIN_DIR)/util/util_c2000_debug.elf |
| TMU_BIN=$(PFE_BIN_DIR)/tmu/tmu_c2000_debug.elf |
| check_dmem: |
| ./check_shared_mem.py pfe.ko $(CLASS_BIN) $(TMU_BIN) $(UTIL_BIN) |
| |