1SubDir HAIKU_TOP src libs compat freebsd_wlan net80211 ;
2
3UseHeaders [ FDirName $(SUBDIR) .. .. freebsd_network ] : true ;
4UseHeaders [ FDirName $(SUBDIR) .. .. freebsd_network compat ] : true ;
5UseHeaders [ FDirName $(SUBDIR) .. ] : true ;
6UseHeaders [ FDirName $(SUBDIR) ] : true ;
7UsePrivateHeaders net system ;
8UsePrivateKernelHeaders ;
9
10# FIXME: Something in here is broken at even -O1! Slow WiFi is better than no WiFi...
11CCFLAGS on [ FGristFiles ieee80211_scan_sw.o ] = -O0 ;
12
13SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ]
14	-Wno-format -Wno-unused -Wno-uninitialized ;
15SubDirC++Flags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
16
17SEARCH_SOURCE += [ FDirName $(SUBDIR) .. crypto rijndael ] ;
18
19# The reason we use a KernelMergeObject followed by KernelStaticLibrary
20# instead of KernelStaticLibrary directly is to force all objects,
21# not just the ones the driver links against, to be linked into
22# the final binary. Otherwise, certain objects which export no symbols
23# save SYSINIT() would not be linked at all, and in order for this
24# module to function properly, they must be.
25KernelMergeObject freebsd_wlan.o :
26	ieee80211.c
27	ieee80211_action.c
28	ieee80211_adhoc.c
29	ieee80211_ageq.c
30	ieee80211_amrr.c
31	ieee80211_crypto.c
32	ieee80211_crypto_ccmp.c
33	ieee80211_crypto_none.c
34	ieee80211_crypto_tkip.c
35	ieee80211_crypto_wep.c
36	ieee80211_dfs.c
37	ieee80211_haiku.cpp
38	ieee80211_ht.c
39	ieee80211_input.c
40	ieee80211_ioctl.c
41	ieee80211_hostap.c
42	ieee80211_monitor.c
43	ieee80211_node.c
44	ieee80211_output.c
45	ieee80211_phy.c
46	ieee80211_power.c
47	ieee80211_proto.c
48	ieee80211_radiotap.c
49	ieee80211_ratectl.c
50	ieee80211_ratectl_none.c
51	ieee80211_regdomain.c
52	ieee80211_rssadapt.c
53	ieee80211_scan.c
54	ieee80211_scan_sta.c
55	ieee80211_scan_sw.c
56	ieee80211_sta.c
57	ieee80211_vht.c
58	ieee80211_wds.c
59	ieee80211_xauth.c
60
61	# Rijndael (aka AES) cryptographic support for crypto_ccmp
62	rijndael-alg-fst.c
63	rijndael-api.c
64
65	# NOT SUPPORTED YET ieee80211_acl.c
66	# NOT SUPPORTED YET ieee80211_ddb.c
67	# NOT SUPPORTED YET ieee80211_hwmp.c
68	# NOT SUPPORTED YET ieee80211_mesh.c
69	# NOT SUPPORTED YET ieee80211_superg.c
70	# NOT SUPPORTED YET ieee80211_tdma.c
71;
72KernelStaticLibraryObjects freebsd_wlan.a :
73	freebsd_wlan.o ;
74