# Copyright (c) 2000-2016 Synology Inc. All rights reserved.
include $(SynoDir)/include/qca-nss-gmac/Makefile.qca.common


ifeq ($(SoC),$(filter $(SoC),ipq806x))
NSS_GMAC_INCL=$(NSS_GMAC_SRCBASE)/$(BOARD)/exports
EXTRA_CFLAGS+= \
	-I$(NSS_DRV_INCL) \
	-I$(NSS_CRYPTO_INCL) \
	-I$(NSS_GMAC_INCL) \
	-I$(shell pwd)/exports/ \
	-I$(QSDK_SRCBASE)/ \
	-I$(NSS_ECM_SRCBASE)/exports \
	-I$(NAT46_SRCBASE)
else
EXTRA_CFLAGS+= \
	-I$(shell pwd)/exports/ \
	-I$(NSS_DRV_INCL) \
	-I$(NSS_CRYPTO_INCL) \
	-I$(SSDK_SRCBASE)/include \
	-I$(SSDK_SRCBASE)/include/common \
	-I$(SSDK_SRCBASE)/include/sal/os \
	-I$(SSDK_SRCBASE)/include/sal/os/linux \
	-I$(NSS_ECM_SRCBASE)/exports \
	-I$(NSS_CFI_SRCBASE)/include \
	-I$(NSS_CFI_SRCBASE)/cryptoapi/exports/ \
	-I$(SSDK_SRCBASE)/include/fal \
	-I$(NAT46_SRCBASE)
endif

EXTRA_CFLAGS+=-Wno-error=missing-braces -Wno-address -fno-pie

ifeq ($(SoC),$(filter $(SoC),ipq806x))
MODULES_OPT=ipsecmgr-klips=n ipsecmgr-xfrm=n tun6rd=m l2tpv2=y pptp=y map-t=y tunipip6=m qdisc=y ipsecmgr=y lag-mgr=y gre=y pppoe=y vxlanmgr=y match=y mirror=y mscs=y \
		SoC=$(SoC) DTLSMGR_DIR="v1.0" IPSECMGR_DIR="v1.0"
endif

ifeq ($(SoC),$(filter $(SoC),ipq40xx))
MODULES_OPT=ipsecmgr-klips=n ipsecmgr-xfrm=n SoC=$(SoC) DTLSMGR_DIR="v1.0" IPSECMGR_DIR="v1.0"
endif

ifeq ($(SoC),$(filter $(SoC),ipq60xx_64))
#  NSS_BRIDGE_MGR_OVS_ENABLE=y
MODULES_OPT=ipsecmgr-klips=m tun6rd=m l2tpv2=y pptp=y map-t=y tunipip6=m qdisc=y igs=y ipsecmgr=y bridge-mgr=y vlan-mgr=y lag-mgr=y gre=y pppoe=y netlink=y ovpn-mgr=y ovpn-link=y vxlanmgr=y match=y SoC=$(SoC) DTLSMGR_DIR="v2.0" IPSECMGR_DIR="v2.0"
endif

ifeq ($(SoC),$(filter $(SoC),ipq807x))
#  NSS_BRIDGE_MGR_OVS_ENABLE=y
MODULES_OPT=ipsecmgr-klips=m tun6rd=m l2tpv2=y pptp=y map-t=y tunipip6=m qdisc=y igs=y ipsecmgr=y bridge-mgr=y vlan-mgr=y lag-mgr=y gre=y pppoe=y netlink=y ovpn-mgr=y ovpn-link=y vxlanmgr=y match=y mirror=y mscs=y SoC=$(SoC) DTLSMGR_DIR="v2.0" IPSECMGR_DIR="v2.0"
EXTRA_CFLAGS+=$(shell pkg-config --cflags qsdk)
endif

all:
	$(MAKE) -C $(KERNELSRC) \
		${MODULES_OPT} \
		CROSS_COMPILE="$(TARGET_CROSS)" \
		ARCH="$(LINUX_KARCH)" \
		M="$(shell pwd)" \
		EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
		modules

clean:
	$(MAKE) -C $(KERNELSRC) \
		${MODULES_OPT} \
		CROSS_COMPILE="$(TARGET_CROSS)" \
		ARCH="$(LINUX_KARCH)" \
		M="$(shell pwd)" \
		EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
		clean
