Home | History | Annotate | Line # | Download | only in hostapd
      1 # $NetBSD: Makefile,v 1.21 2025/10/19 00:59:59 riastradh Exp $
      2 
      3 .include "${.CURDIR}/../Makefile.inc"
      4 
      5 
      6 PROG=	hostapd
      7 CPPFLAGS+= -Diphdr=ip
      8 
      9 # ap
     10 SRCS+= \
     11 accounting.c \
     12 ap_config.c \
     13 ap_drv_ops.c \
     14 ap_mlme.c \
     15 authsrv.c \
     16 beacon.c \
     17 bss_load.c \
     18 ctrl_iface_ap.c \
     19 dpp.c \
     20 dpp_hostapd.c \
     21 drv_callbacks.c \
     22 eap_user_db.c \
     23 gas.c \
     24 gas_query_ap.c \
     25 gas_serv.c \
     26 hostapd.c \
     27 ieee802_11_auth.c \
     28 ieee802_11_ht.c \
     29 ieee802_11_shared.c \
     30 ieee802_1x.c \
     31 mbo_ap.c \
     32 neighbor_db.c \
     33 pmksa_cache_auth.c \
     34 preauth_auth.c \
     35 rrm.c \
     36 sta_info.c \
     37 tkip_countermeasures.c \
     38 utils.c \
     39 vlan_ifconfig.c \
     40 vlan_init.c \
     41 vlan.c \
     42 wpa_auth.c \
     43 wpa_auth_glue.c \
     44 wpa_auth_ie.c
     45 
     46 # common
     47 SRCS+= \
     48 ctrl_iface_common.c \
     49 dpp_auth.c \
     50 dpp_backup.c \
     51 dpp_crypto.c \
     52 dpp_pkex.c \
     53 dpp_reconfig.c \
     54 dpp_tcp.c \
     55 hw_features_common.c \
     56 ieee802_11_common.c \
     57 ptksa_cache.c \
     58 wpa_common.c \
     59 wpa_ctrl.c
     60 
     61 # drivers
     62 SRCS+= \
     63 driver_bsd.c \
     64 driver_none.c \
     65 driver_wired.c \
     66 driver_wired_common.c \
     67 driver_common.c \
     68 drivers.c
     69 
     70 # radius
     71 SRCS+= \
     72 radius.c \
     73 radius_das.c \
     74 radius_client.c \
     75 radius_server.c
     76 
     77 # utils
     78 SRCS+= \
     79 base64.c \
     80 common.c \
     81 crc32.c \
     82 eloop.c \
     83 json.c \
     84 ip_addr.c \
     85 os_unix.c \
     86 wpa_debug.c \
     87 wpabuf.c
     88 
     89 # main
     90 SRCS+= \
     91 main.c \
     92 config_file.c \
     93 ctrl_iface.c \
     94 eap_register.c
     95 
     96 # l2_packet
     97 SRCS+= \
     98 l2_packet_freebsd.c
     99 
    100 # eapol_auth
    101 SRCS+= \
    102 eapol_auth_dump.c \
    103 eapol_auth_sm.c
    104 
    105 # eap_server
    106 SRCS+= \
    107 eap_common.c \
    108 eap_server.c \
    109 eap_server_methods.c
    110 
    111 # crypto
    112 SRCS+= \
    113 aes-siv.c \
    114 random.c \
    115 sha1-prf.c \
    116 sha256-kdf.c \
    117 sha256-prf.c \
    118 sha384-kdf.c \
    119 sha384-prf.c \
    120 sha512-kdf.c \
    121 sha512-prf.c \
    122 
    123 # tls
    124 SRCS+= \
    125 asn1.c
    126 
    127 # crypto for non-openssl
    128 NO_SRCS+= \
    129 aes-cbc.c \
    130 aes-omac1.c \
    131 aes-wrap.c \
    132 md5.c
    133 
    134 
    135 .PATH.c: \
    136 	${HOSTAPD_DISTDIR} \
    137 	${WPA_DISTDIR}/src/eap_server \
    138 	${WPA_DISTDIR}/src/eapol_auth \
    139 	${WPA_DISTDIR}/src/drivers \
    140 	${WPA_DISTDIR}/src/radius \
    141 	${WPA_DISTDIR}/src/tls \
    142 	${COMMON_PATH}
    143 
    144 MAN=	hostapd.8 hostapd.conf.5
    145 
    146 CPPFLAGS+= -I${.CURDIR} -I${HOSTAPD_DISTDIR}
    147 CPPFLAGS+= -DHOSTAPD
    148 CPPFLAGS+= -DHOSTAPD_DUMP_STATE
    149 CPPFLAGS+= -DALL_DH_GROUPS
    150 CPPFLAGS+= -DRADIUS_SERVER
    151 CPPFLAGS+= -DCONFIG_CTRL_IFACE
    152 CPPFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
    153 CPPFLAGS+= -DCONFIG_DEBUG_SYSLOG
    154 CPPFLAGS+= -DCONFIG_DRIVER_BSD
    155 CPPFLAGS+= -DCONFIG_DRIVER_NONE
    156 CPPFLAGS+= -DCONFIG_DRIVER_WIRED
    157 CPPFLAGS+= -DCONFIG_DRIVER_WPA
    158 
    159 .if ${MKINET6} != "no"
    160 CPPFLAGS+= -DCONFIG_IPV6
    161 .endif
    162 CPPFLAGS+= -DCONFIG_PEERKEY
    163 CPPFLAGS+= -DCONFIG_RSN_PREAUTH
    164 CPPFLAGS+= -DCONFIG_DPP
    165 CPPFLAGS+= -DCONFIG_DPP2
    166 CPPFLAGS+= -DCONFIG_ECC
    167 #CPPFLAGS+= -DCONFIG_OWE
    168 #CPPFLAGS+= -DCONFIG_SAE
    169 #CPPFLAGS+= -DCONFIG_AIRTIME_POLICY
    170 #CPPFLAGS+= -DCONFIG_FILS
    171 #CPPFLAGS+= -DCONFIG_OCV
    172 #CPPFLAGS+= -DCONFIG_IEEE80211AX
    173 #CPPFLAGS+= -DCONFIG_IEEE80211R_AP
    174 CPPFLAGS+= -DCONFIG_MBO
    175 #CPPFLAGS+= -DCONFIG_NO_VLAN
    176 #CPPFLAGS+= -DCONFIG_SQLITE
    177 #CPPFLAGS+= -DCONFIG_SHA256 -DCONFIG_SHA484 -DCONFIG_SHA512
    178 
    179 DPADD+= ${LIBPCAP}
    180 LDADD+= -lpcap
    181 
    182 .if !defined(NO_CRYPT) && !defined(NO_OPENSSL) && !defined(RELEASE_CRUNCH)
    183 CPPFLAGS+= -DEAP_SERVER
    184 CPPFLAGS+= -DEAP_SERVER_AKA
    185 CPPFLAGS+= -DEAP_SERVER_AKA_PRIME
    186 CPPFLAGS+= -DEAP_SERVER_GPSK
    187 CPPFLAGS+= -DEAP_SERVER_GPSK_SHA256
    188 CPPFLAGS+= -DEAP_SERVER_GTC
    189 CPPFLAGS+= -DEAP_SERVER_IDENTITY
    190 CPPFLAGS+= -DEAP_SERVER_IKEV2
    191 CPPFLAGS+= -DEAP_SERVER_MD5
    192 CPPFLAGS+= -DEAP_SERVER_MSCHAPV2
    193 CPPFLAGS+= -DEAP_SERVER_PAX
    194 CPPFLAGS+= -DEAP_SERVER_PEAP
    195 CPPFLAGS+= -DEAP_SERVER_PSK
    196 CPPFLAGS+= -DEAP_SERVER_SAKE
    197 CPPFLAGS+= -DEAP_SERVER_SIM
    198 CPPFLAGS+= -DEAP_SERVER_TLS
    199 CPPFLAGS+= -DEAP_SERVER_TNC
    200 CPPFLAGS+= -DEAP_SERVER_TTLS
    201 CPPFLAGS+= -DEAP_TLS_FUNCS
    202 CPPFLAGS+= -DPKCS12_FUNCS
    203 
    204 # crypto
    205 SRCS+= \
    206 aes-ctr.c \
    207 aes-eax.c \
    208 aes-encblock.c \
    209 crypto_openssl.c \
    210 dh_groups.c \
    211 fips_prf_openssl.c \
    212 ms_funcs.c \
    213 sha1-tlsprf.c \
    214 sha256.c \
    215 sha384.c \
    216 sha512.c \
    217 tls_openssl.c
    218 
    219 # eap_common
    220 SRCS+= \
    221 chap.c \
    222 eap_gpsk_common.c \
    223 eap_ikev2_common.c \
    224 eap_pax_common.c \
    225 eap_peap_common.c \
    226 eap_psk_common.c \
    227 eap_sake_common.c \
    228 eap_sim_common.c \
    229 ikev2_common.c
    230 
    231 # eap_server
    232 SRCS+= \
    233 eap_server_aka.c \
    234 eap_server_gpsk.c \
    235 eap_server_gtc.c \
    236 eap_server_identity.c \
    237 eap_server_ikev2.c \
    238 eap_server_md5.c \
    239 eap_server_mschapv2.c \
    240 eap_server_pax.c \
    241 eap_server_peap.c \
    242 eap_server_psk.c \
    243 eap_server_sake.c \
    244 eap_server_sim.c \
    245 eap_server_tls.c \
    246 eap_server_tls_common.c \
    247 eap_server_tnc.c \
    248 eap_server_ttls.c \
    249 eap_sim_db.c \
    250 ikev2.c \
    251 tncs.c
    252 
    253 
    254 DPADD+= ${LIBSSL} ${LIBCRYPTO} ${LIBDES}
    255 LDADD+= -lssl -lcrypto -ldes
    256 .else
    257 CPPFLAGS+= -DINTERNAL_AES -DINTERNAL_MD5 -DINTERNAL_SHA1 -DCONFIG_NO_PBKDF2
    258 CPPFLAGS+= -DCONFIG_CRYPTO_INTERNAL
    259 SRCS+=  tls_none.c sha1-internal.c md5-internal.c aes-xinternal.c rc4.c
    260 SRCS+= sha1-pbkdf2.c sha1.c md5.c
    261 .endif
    262 
    263 CWARNFLAGS.gcc+=	${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
    264 COPTS.dpp.c+= -Wno-error=deprecated-declarations
    265 COPTS.crypto_openssl.c+= -Wno-error=deprecated-declarations
    266 COPTS.fips_prf_openssl.c+= -Wno-error=deprecated-declarations
    267 COPTS.tls_openssl.c+= -Wno-error=deprecated-declarations
    268 
    269 .include <bsd.prog.mk>
    270