1# Helper makefile for building Broadcom wps libaries
2# This file maps wps feature flags (import) to WPSFLAGS and WPSFILES (export).
3#
4# Copyright (C) 2013, Broadcom Corporation
5# All Rights Reserved.
6# 
7# This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
8# the contents of this file may not be disclosed to third parties, copied
9# or duplicated in any form, in whole or in part, without the prior
10# written permission of Broadcom Corporation.
11# $Id: $
12
13WPSFILES :=
14
15ifeq ($(BLDTYPE), debug)
16WPSFLAGS += -D_TUDEBUGTRACE
17endif
18
19WPSFLAGS += -Os
20
21ifeq ($(WCN_NET), 1)
22WPSFLAGS += -DWCN_NET_SUPPORT   
23endif
24
25# Include external openssl path
26ifeq ($(EXTERNAL_OPENSSL),1)
27WPS_CRYPT = 0
28WPSFLAGS += -DEXTERNAL_OPENSSL
29WPSFILES += src/wps/common/shared/wps_openssl.c
30endif
31
32## wps common
33
34## shared code 
35WPSFILES += src/wps/common/shared/tutrace.c
36WPSFILES += src/wps/common/shared/dev_config.c
37WPSFILES += src/wps/common/shared/wps_sslist.c
38WPSFILES += src/wps/common/enrollee/enr_reg_sm.c
39WPSFILES += src/wps/common/registrar/reg_sm.c 
40WPSFILES += src/wps/common/shared/reg_proto_utils.c
41WPSFILES += src/wps/common/shared/reg_proto_msg.c
42WPSFILES += src/wps/common/shared/tlv.c
43WPSFILES += src/wps/common/shared/state_machine.c
44WPSFILES += src/wps/common/shared/wps_utils.c
45WPSFILES += src/wps/common/shared/ie_utils.c
46WPSFILES += src/wps/common/shared/buffobj.c
47
48# AP or APSTA
49ifeq ($(WPS_AP), 1)
50WPSFLAGS += -DBCMWPSAP
51WPSFILES += src/wps/common/ap/ap_api.c
52WPSFILES += src/wps/common/ap/ap_ssr.c
53WPSFILES += src/wps/common/ap/ap_eap_sm.c
54endif
55
56# STA supports
57ifeq ($(WPS_STA), 1)
58WPSFLAGS += -DBCMWPSAPSTA
59WPSFILES += src/wps/common/sta/sta_eap_sm.c
60endif
61
62# WPS monitor support
63ifeq ($(WPS_ROUTER), 1)
64WPSFILES += src/wps/brcm_apps/apps/wps_monitor.c
65WPSFILES += src/wps/brcm_apps/apps/wps_aplockdown.c
66WPSFILES += src/wps/brcm_apps/apps/wps_pb.c
67WPSFILES += src/wps/brcm_apps/apps/wps_eap.c
68WPSFILES += src/wps/brcm_apps/apps/wps_ie.c
69WPSFILES += src/wps/brcm_apps/apps/wps_ui.c
70WPSFILES += src/wps/brcm_apps/apps/wps_led.c
71
72WPS_ROUTERHALFILES += src/wps/brcm_apps/arch/bcm947xx/wps_gpio.c
73WPS_ROUTERHALFILES += src/wps/brcm_apps/arch/bcm947xx/wps_hal.c
74WPS_ROUTERHALFILES += src/wps/brcm_apps/arch/bcm947xx/wps_wl.c
75
76	# WFI supports
77	ifeq ($(WPS_WFI),1)
78	WPSFILES += src/wps/brcm_apps/apps/wps_wfi.c
79	WPSFLAGS += -DBCMWFI
80	endif
81
82	ifeq ($(WPS_AP), 1)
83	WPSFILES += src/wps/brcm_apps/apps/wps_ap.c 
84		ifeq ($(WPS_UPNP_DEVICE),1)
85			WPSFILES += src/wps/brcm_apps/upnp/WFADevice/soap_x_wfawlanconfig.c
86			WPSFILES += src/wps/brcm_apps/upnp/WFADevice/WFADevice.c
87			WPSFILES += src/wps/brcm_apps/upnp/WFADevice/WFADevice_table.c
88			WPSFILES += src/wps/brcm_apps/upnp/WFADevice/xml_x_wfawlanconfig.c
89			# Release xml_WFADevice.c for customization
90			WPS_ROUTERHALFILES += src/wps/brcm_apps/upnp/WFADevice/xml_WFADevice.c
91			WPSFILES += src/wps/common/ap/ap_upnp_sm.c
92			WPSFILES += src/wps/brcm_apps/apps/wps_libupnp.c
93			WPSFLAGS += -DWPS_UPNP_DEVICE
94		endif
95	endif
96
97	ifeq ($(WPS_STA), 1)
98	WPSFILES += src/wps/brcm_apps/apps/wps_sta.c
99	WPS_ROUTERHALFILES += src/wps/brcm_apps/arch/bcm947xx/wps_sta_wl.c
100	endif
101
102	# NFC support
103	ifeq ($(WPS_NFC_DEVICE), 1)
104	WPSFILES += src/wps/brcm_apps/apps/wps_nfc.c
105	WPSFILES += src/wps/brcm_apps/nfc/app_generic.c
106	WPSFILES += src/wps/brcm_apps/nfc/app_mgt.c
107	WPSFILES += src/wps/brcm_apps/nfc/app_nsa_utils.c
108	endif
109WPSFLAGS += -DWPS_ROUTER
110endif # end WPS ROUTER
111
112# Enrollee supports
113ifeq ($(WPS_ENR),1)
114WPSFILES += src/wps/common/enrollee/enr_api.c
115endif
116
117ifeq ($(WPS_CRYPT), 1)
118CRYPTDIR = $(SRCBASE)/bcmcrypto
119WPSFILES += src/bcmcrypto/aes.c
120WPSFILES += src/bcmcrypto/rijndael-alg-fst.c
121WPSFILES += src/bcmcrypto/dh.c
122WPSFILES += src/bcmcrypto/bn.c
123WPSFILES += src/bcmcrypto/sha256.c
124WPSFILES += src/bcmcrypto/hmac_sha256.c
125WPSFILES += src/bcmcrypto/random.c
126endif
127
128# NFC support
129ifeq ($(WPS_NFC_DEVICE), 1)
130WPSFILES += src/wps/common/shared/nfc_utils.c
131WPSFLAGS += -DWPS_NFC_DEVICE
132endif
133
134export WPS_FLAGS = $(WPSFLAGS)
135export WPS_FILES = $(WPSFILES)
136export WPS_HALFILES = $(WPS_ROUTERHALFILES)
137