⛏️ index : haiku.git

SubDir HAIKU_TOP src libs compat freebsd_wlan net80211 ;

UseHeaders [ FDirName $(SUBDIR) .. .. freebsd_network ] : true ;
UseHeaders [ FDirName $(SUBDIR) .. .. freebsd_network compat ] : true ;
UseHeaders [ FDirName $(SUBDIR) .. ] : true ;
UseHeaders [ FDirName $(SUBDIR) ] : true ;
UsePrivateHeaders net system ;
UsePrivateKernelHeaders ;

# FIXME: Something in here is broken at even -O1! Slow WiFi is better than no WiFi...
CCFLAGS on [ FGristFiles ieee80211_scan_sw.o ] = -O0 ;

SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ]
	-Wno-format -Wno-unused -Wno-uninitialized ;
SubDirC++Flags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;

SEARCH_SOURCE += [ FDirName $(SUBDIR) .. crypto rijndael ] ;

# The reason we use a KernelMergeObject followed by KernelStaticLibrary is to
# force all objects, not just the ones a driver links against, to be linked
# into the final binary. Otherwise, certain objects which export no symbols
# besides SYSINIT() would not be linked at all, and in order for this module
# to function properly, they must be.

SubDirCcFlags -fvisibility=hidden ;
SubDirC++Flags -fvisibility=hidden ;
KernelMergeObject freebsd_wlan.o :
	ieee80211.c
	ieee80211_action.c
	ieee80211_adhoc.c
	ieee80211_ageq.c
	ieee80211_amrr.c
	ieee80211_crypto.c
	ieee80211_crypto_ccmp.c
	ieee80211_crypto_none.c
	ieee80211_crypto_tkip.c
	ieee80211_crypto_wep.c
	ieee80211_dfs.c
	ieee80211_haiku.cpp
	ieee80211_ht.c
	ieee80211_input.c
	ieee80211_ioctl.c
	ieee80211_hostap.c
	ieee80211_monitor.c
	ieee80211_node.c
	ieee80211_output.c
	ieee80211_phy.c
	ieee80211_power.c
	ieee80211_proto.c
	ieee80211_radiotap.c
	ieee80211_ratectl.c
	ieee80211_ratectl_none.c
	ieee80211_regdomain.c
	ieee80211_rssadapt.c
	ieee80211_scan.c
	ieee80211_scan_sta.c
	ieee80211_scan_sw.c
	ieee80211_sta.c
	ieee80211_vht.c
	ieee80211_wds.c
	ieee80211_xauth.c

	# Rijndael (aka AES) cryptographic support for crypto_ccmp
	rijndael-alg-fst.c
	rijndael-api.c

	# NOT SUPPORTED YET ieee80211_acl.c
	# NOT SUPPORTED YET ieee80211_ddb.c
	# NOT SUPPORTED YET ieee80211_hwmp.c
	# NOT SUPPORTED YET ieee80211_mesh.c
	# NOT SUPPORTED YET ieee80211_superg.c
	# NOT SUPPORTED YET ieee80211_tdma.c
;
KernelStaticLibraryObjects freebsd_wlan.a :
	freebsd_wlan.o ;