Home | History | Annotate | Line # | Download | only in hostapd
      1  1.1.1.10  christos ALL=hostapd hostapd_cli
      2  1.1.1.10  christos CONFIG_FILE = .config
      3       1.1  christos 
      4  1.1.1.10  christos include ../src/build.rules
      5       1.1  christos 
      6   1.1.1.7  christos ifdef LIBS
      7   1.1.1.7  christos # If LIBS is set with some global build system defaults, clone those for
      8   1.1.1.7  christos # LIBS_c, LIBS_h, and LIBS_n to cover hostapd_cli, hlr_auc_gw, and
      9   1.1.1.7  christos # nt_password_hash as well.
     10   1.1.1.7  christos ifndef LIBS_c
     11   1.1.1.7  christos LIBS_c := $(LIBS)
     12   1.1.1.7  christos endif
     13   1.1.1.7  christos ifndef LIBS_h
     14   1.1.1.7  christos LIBS_h := $(LIBS)
     15   1.1.1.7  christos endif
     16   1.1.1.7  christos ifndef LIBS_n
     17   1.1.1.7  christos LIBS_n := $(LIBS)
     18   1.1.1.7  christos endif
     19  1.1.1.10  christos ifndef LIBS_s
     20  1.1.1.10  christos LIBS_s := $(LIBS)
     21  1.1.1.10  christos endif
     22   1.1.1.7  christos endif
     23   1.1.1.7  christos 
     24   1.1.1.6  christos CFLAGS += $(EXTRA_CFLAGS)
     25   1.1.1.5  christos CFLAGS += -I$(abspath ../src)
     26   1.1.1.5  christos CFLAGS += -I$(abspath ../src/utils)
     27       1.1  christos 
     28   1.1.1.6  christos export BINDIR ?= /usr/local/bin/
     29   1.1.1.6  christos 
     30   1.1.1.7  christos ifndef CONFIG_NO_GITVER
     31   1.1.1.7  christos # Add VERSION_STR postfix for builds from a git repository
     32   1.1.1.7  christos ifeq ($(wildcard ../.git),../.git)
     33   1.1.1.7  christos GITVER := $(shell git describe --dirty=+)
     34   1.1.1.7  christos ifneq ($(GITVER),)
     35   1.1.1.7  christos CFLAGS += -DGIT_VERSION_STR_POSTFIX=\"-$(GITVER)\"
     36   1.1.1.7  christos endif
     37   1.1.1.7  christos endif
     38   1.1.1.7  christos endif
     39   1.1.1.7  christos 
     40   1.1.1.5  christos ifdef CONFIG_TESTING_OPTIONS
     41   1.1.1.5  christos CFLAGS += -DCONFIG_TESTING_OPTIONS
     42   1.1.1.5  christos CONFIG_WPS_TESTING=y
     43   1.1.1.5  christos endif
     44   1.1.1.5  christos 
     45       1.1  christos ifndef CONFIG_OS
     46       1.1  christos ifdef CONFIG_NATIVE_WINDOWS
     47       1.1  christos CONFIG_OS=win32
     48       1.1  christos else
     49       1.1  christos CONFIG_OS=unix
     50       1.1  christos endif
     51       1.1  christos endif
     52       1.1  christos 
     53       1.1  christos ifeq ($(CONFIG_OS), internal)
     54       1.1  christos CFLAGS += -DOS_NO_C_LIB_DEFINES
     55       1.1  christos endif
     56       1.1  christos 
     57       1.1  christos ifdef CONFIG_NATIVE_WINDOWS
     58       1.1  christos CFLAGS += -DCONFIG_NATIVE_WINDOWS
     59       1.1  christos LIBS += -lws2_32
     60       1.1  christos endif
     61       1.1  christos 
     62       1.1  christos OBJS += main.o
     63       1.1  christos OBJS += config_file.o
     64       1.1  christos 
     65       1.1  christos OBJS += ../src/ap/hostapd.o
     66       1.1  christos OBJS += ../src/ap/wpa_auth_glue.o
     67       1.1  christos OBJS += ../src/ap/drv_callbacks.o
     68       1.1  christos OBJS += ../src/ap/ap_drv_ops.o
     69       1.1  christos OBJS += ../src/ap/utils.o
     70       1.1  christos OBJS += ../src/ap/authsrv.o
     71       1.1  christos OBJS += ../src/ap/ieee802_1x.o
     72       1.1  christos OBJS += ../src/ap/ap_config.o
     73   1.1.1.4  christos OBJS += ../src/ap/eap_user_db.o
     74       1.1  christos OBJS += ../src/ap/ieee802_11_auth.o
     75       1.1  christos OBJS += ../src/ap/sta_info.o
     76       1.1  christos OBJS += ../src/ap/wpa_auth.o
     77       1.1  christos OBJS += ../src/ap/tkip_countermeasures.o
     78       1.1  christos OBJS += ../src/ap/ap_mlme.o
     79       1.1  christos OBJS += ../src/ap/wpa_auth_ie.o
     80       1.1  christos OBJS += ../src/ap/preauth_auth.o
     81       1.1  christos OBJS += ../src/ap/pmksa_cache_auth.o
     82   1.1.1.3  christos OBJS += ../src/ap/ieee802_11_shared.o
     83   1.1.1.3  christos OBJS += ../src/ap/beacon.o
     84   1.1.1.6  christos OBJS += ../src/ap/bss_load.o
     85   1.1.1.7  christos OBJS += ../src/ap/neighbor_db.o
     86   1.1.1.7  christos OBJS += ../src/ap/rrm.o
     87  1.1.1.10  christos OBJS += ../src/common/ptksa_cache.o
     88   1.1.1.3  christos 
     89   1.1.1.7  christos OBJS_c = hostapd_cli.o
     90   1.1.1.7  christos OBJS_c += ../src/common/wpa_ctrl.o
     91   1.1.1.7  christos OBJS_c += ../src/utils/os_$(CONFIG_OS).o
     92   1.1.1.7  christos OBJS_c += ../src/common/cli.o
     93       1.1  christos 
     94       1.1  christos NEED_RC4=y
     95       1.1  christos NEED_AES=y
     96       1.1  christos NEED_MD5=y
     97       1.1  christos NEED_SHA1=y
     98       1.1  christos 
     99       1.1  christos OBJS += ../src/drivers/drivers.o
    100       1.1  christos CFLAGS += -DHOSTAPD
    101       1.1  christos 
    102   1.1.1.7  christos ifdef CONFIG_TAXONOMY
    103   1.1.1.7  christos CFLAGS += -DCONFIG_TAXONOMY
    104   1.1.1.7  christos OBJS += ../src/ap/taxonomy.o
    105   1.1.1.7  christos endif
    106   1.1.1.7  christos 
    107   1.1.1.5  christos ifdef CONFIG_MODULE_TESTS
    108   1.1.1.5  christos CFLAGS += -DCONFIG_MODULE_TESTS
    109   1.1.1.5  christos OBJS += hapd_module_tests.o
    110   1.1.1.5  christos endif
    111   1.1.1.5  christos 
    112       1.1  christos ifdef CONFIG_WPA_TRACE
    113       1.1  christos CFLAGS += -DWPA_TRACE
    114       1.1  christos OBJS += ../src/utils/trace.o
    115   1.1.1.3  christos HOBJS += ../src/utils/trace.o
    116       1.1  christos LDFLAGS += -rdynamic
    117       1.1  christos CFLAGS += -funwind-tables
    118       1.1  christos ifdef CONFIG_WPA_TRACE_BFD
    119   1.1.1.5  christos CFLAGS += -DPACKAGE="hostapd" -DWPA_TRACE_BFD
    120   1.1.1.5  christos LIBS += -lbfd -ldl -liberty -lz
    121   1.1.1.5  christos LIBS_c += -lbfd -ldl -liberty -lz
    122   1.1.1.5  christos LIBS_h += -lbfd -ldl -liberty -lz
    123  1.1.1.10  christos LIBS_n += -lbfd -ldl -liberty -lz
    124  1.1.1.10  christos LIBS_s += -lbfd -ldl -liberty -lz
    125       1.1  christos endif
    126       1.1  christos endif
    127       1.1  christos 
    128   1.1.1.3  christos ifndef CONFIG_ELOOP
    129   1.1.1.3  christos CONFIG_ELOOP=eloop
    130   1.1.1.3  christos endif
    131   1.1.1.3  christos OBJS += ../src/utils/$(CONFIG_ELOOP).o
    132   1.1.1.3  christos OBJS_c += ../src/utils/$(CONFIG_ELOOP).o
    133   1.1.1.5  christos 
    134   1.1.1.5  christos ifeq ($(CONFIG_ELOOP), eloop)
    135   1.1.1.5  christos # Using glibc < 2.17 requires -lrt for clock_gettime()
    136   1.1.1.5  christos LIBS += -lrt
    137   1.1.1.5  christos LIBS_c += -lrt
    138   1.1.1.5  christos LIBS_h += -lrt
    139   1.1.1.5  christos LIBS_n += -lrt
    140   1.1.1.5  christos endif
    141   1.1.1.5  christos 
    142   1.1.1.7  christos ifdef CONFIG_ELOOP_POLL
    143   1.1.1.7  christos CFLAGS += -DCONFIG_ELOOP_POLL
    144   1.1.1.7  christos endif
    145   1.1.1.7  christos 
    146   1.1.1.7  christos ifdef CONFIG_ELOOP_EPOLL
    147   1.1.1.7  christos CFLAGS += -DCONFIG_ELOOP_EPOLL
    148   1.1.1.7  christos endif
    149   1.1.1.7  christos 
    150   1.1.1.7  christos ifdef CONFIG_ELOOP_KQUEUE
    151   1.1.1.7  christos CFLAGS += -DCONFIG_ELOOP_KQUEUE
    152   1.1.1.7  christos endif
    153   1.1.1.7  christos 
    154       1.1  christos OBJS += ../src/utils/common.o
    155   1.1.1.7  christos OBJS_c += ../src/utils/common.o
    156       1.1  christos OBJS += ../src/utils/wpa_debug.o
    157   1.1.1.3  christos OBJS_c += ../src/utils/wpa_debug.o
    158       1.1  christos OBJS += ../src/utils/wpabuf.o
    159       1.1  christos OBJS += ../src/utils/os_$(CONFIG_OS).o
    160       1.1  christos OBJS += ../src/utils/ip_addr.o
    161  1.1.1.10  christos OBJS += ../src/utils/crc32.o
    162       1.1  christos 
    163       1.1  christos OBJS += ../src/common/ieee802_11_common.o
    164       1.1  christos OBJS += ../src/common/wpa_common.o
    165   1.1.1.6  christos OBJS += ../src/common/hw_features_common.o
    166       1.1  christos 
    167       1.1  christos OBJS += ../src/eapol_auth/eapol_auth_sm.o
    168       1.1  christos 
    169       1.1  christos 
    170   1.1.1.5  christos ifdef CONFIG_CODE_COVERAGE
    171  1.1.1.10  christos CFLAGS += -O0 -fprofile-arcs -ftest-coverage -U_FORTIFY_SOURCE
    172   1.1.1.5  christos LIBS += -lgcov
    173   1.1.1.5  christos LIBS_c += -lgcov
    174   1.1.1.5  christos LIBS_h += -lgcov
    175   1.1.1.5  christos LIBS_n += -lgcov
    176   1.1.1.5  christos endif
    177   1.1.1.5  christos 
    178       1.1  christos ifndef CONFIG_NO_DUMP_STATE
    179   1.1.1.5  christos # define HOSTAPD_DUMP_STATE to include support for dumping internal state
    180   1.1.1.5  christos # through control interface commands (undefine it, if you want to save in
    181   1.1.1.5  christos # binary size)
    182       1.1  christos CFLAGS += -DHOSTAPD_DUMP_STATE
    183       1.1  christos OBJS += ../src/eapol_auth/eapol_auth_dump.o
    184       1.1  christos endif
    185       1.1  christos 
    186       1.1  christos ifdef CONFIG_NO_RADIUS
    187       1.1  christos CFLAGS += -DCONFIG_NO_RADIUS
    188       1.1  christos CONFIG_NO_ACCOUNTING=y
    189       1.1  christos else
    190       1.1  christos OBJS += ../src/radius/radius.o
    191       1.1  christos OBJS += ../src/radius/radius_client.o
    192   1.1.1.4  christos OBJS += ../src/radius/radius_das.o
    193       1.1  christos endif
    194       1.1  christos 
    195       1.1  christos ifdef CONFIG_NO_ACCOUNTING
    196       1.1  christos CFLAGS += -DCONFIG_NO_ACCOUNTING
    197       1.1  christos else
    198       1.1  christos OBJS += ../src/ap/accounting.o
    199       1.1  christos endif
    200       1.1  christos 
    201       1.1  christos ifdef CONFIG_NO_VLAN
    202       1.1  christos CFLAGS += -DCONFIG_NO_VLAN
    203       1.1  christos else
    204       1.1  christos OBJS += ../src/ap/vlan_init.o
    205   1.1.1.7  christos OBJS += ../src/ap/vlan_ifconfig.o
    206   1.1.1.7  christos OBJS += ../src/ap/vlan.o
    207   1.1.1.4  christos ifdef CONFIG_FULL_DYNAMIC_VLAN
    208   1.1.1.7  christos # Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
    209   1.1.1.7  christos # and VLAN interfaces for the VLAN feature.
    210   1.1.1.7  christos CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
    211   1.1.1.7  christos OBJS += ../src/ap/vlan_full.o
    212   1.1.1.7  christos ifdef CONFIG_VLAN_NETLINK
    213   1.1.1.4  christos OBJS += ../src/ap/vlan_util.o
    214   1.1.1.7  christos else
    215   1.1.1.7  christos OBJS += ../src/ap/vlan_ioctl.o
    216   1.1.1.4  christos endif
    217   1.1.1.4  christos endif
    218       1.1  christos endif
    219       1.1  christos 
    220       1.1  christos ifdef CONFIG_NO_CTRL_IFACE
    221       1.1  christos CFLAGS += -DCONFIG_NO_CTRL_IFACE
    222       1.1  christos else
    223   1.1.1.7  christos ifeq ($(CONFIG_CTRL_IFACE), udp)
    224   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP
    225   1.1.1.7  christos else
    226   1.1.1.7  christos ifeq ($(CONFIG_CTRL_IFACE), udp6)
    227   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP
    228   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
    229   1.1.1.7  christos else
    230   1.1.1.7  christos ifeq ($(CONFIG_CTRL_IFACE), udp-remote)
    231   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP
    232   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
    233   1.1.1.7  christos else
    234   1.1.1.7  christos ifeq ($(CONFIG_CTRL_IFACE), udp6-remote)
    235   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP
    236   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
    237   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
    238   1.1.1.7  christos else
    239   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
    240   1.1.1.7  christos endif
    241   1.1.1.7  christos endif
    242   1.1.1.7  christos endif
    243   1.1.1.7  christos endif
    244   1.1.1.7  christos OBJS += ../src/common/ctrl_iface_common.o
    245       1.1  christos OBJS += ctrl_iface.o
    246       1.1  christos OBJS += ../src/ap/ctrl_iface_ap.o
    247       1.1  christos endif
    248       1.1  christos 
    249   1.1.1.7  christos ifndef CONFIG_NO_CTRL_IFACE
    250   1.1.1.7  christos CFLAGS += -DCONFIG_CTRL_IFACE
    251   1.1.1.7  christos endif
    252       1.1  christos 
    253       1.1  christos ifdef CONFIG_RSN_PREAUTH
    254       1.1  christos CFLAGS += -DCONFIG_RSN_PREAUTH
    255       1.1  christos CONFIG_L2_PACKET=y
    256       1.1  christos endif
    257       1.1  christos 
    258   1.1.1.5  christos ifdef CONFIG_HS20
    259   1.1.1.6  christos CONFIG_PROXYARP=y
    260   1.1.1.6  christos endif
    261   1.1.1.6  christos 
    262   1.1.1.6  christos ifdef CONFIG_PROXYARP
    263   1.1.1.6  christos CONFIG_L2_PACKET=y
    264   1.1.1.6  christos endif
    265   1.1.1.6  christos 
    266   1.1.1.6  christos ifdef CONFIG_SUITEB
    267   1.1.1.6  christos CFLAGS += -DCONFIG_SUITEB
    268   1.1.1.6  christos endif
    269   1.1.1.6  christos 
    270   1.1.1.6  christos ifdef CONFIG_SUITEB192
    271   1.1.1.6  christos CFLAGS += -DCONFIG_SUITEB192
    272   1.1.1.6  christos NEED_SHA384=y
    273   1.1.1.5  christos endif
    274   1.1.1.5  christos 
    275   1.1.1.9  christos ifdef CONFIG_OCV
    276   1.1.1.9  christos CFLAGS += -DCONFIG_OCV
    277   1.1.1.9  christos OBJS += ../src/common/ocv.o
    278   1.1.1.9  christos endif
    279   1.1.1.9  christos 
    280  1.1.1.10  christos NEED_AES_UNWRAP=y
    281       1.1  christos 
    282       1.1  christos ifdef CONFIG_IEEE80211R
    283   1.1.1.8  christos CFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP
    284       1.1  christos OBJS += ../src/ap/wpa_auth_ft.o
    285       1.1  christos NEED_AES_UNWRAP=y
    286   1.1.1.8  christos NEED_AES_SIV=y
    287   1.1.1.8  christos NEED_ETH_P_OUI=y
    288   1.1.1.8  christos NEED_HMAC_SHA256_KDF=y
    289   1.1.1.8  christos endif
    290   1.1.1.8  christos 
    291   1.1.1.8  christos ifdef NEED_ETH_P_OUI
    292   1.1.1.8  christos CFLAGS += -DCONFIG_ETH_P_OUI
    293   1.1.1.8  christos OBJS += ../src/ap/eth_p_oui.o
    294       1.1  christos endif
    295       1.1  christos 
    296   1.1.1.4  christos ifdef CONFIG_SAE
    297   1.1.1.4  christos CFLAGS += -DCONFIG_SAE
    298   1.1.1.5  christos OBJS += ../src/common/sae.o
    299  1.1.1.10  christos ifdef CONFIG_SAE_PK
    300  1.1.1.10  christos CFLAGS += -DCONFIG_SAE_PK
    301  1.1.1.10  christos NEED_AES_SIV=y
    302  1.1.1.10  christos OBJS += ../src/common/sae_pk.o
    303  1.1.1.10  christos endif
    304   1.1.1.5  christos NEED_ECC=y
    305   1.1.1.5  christos NEED_DH_GROUPS=y
    306  1.1.1.10  christos NEED_HMAC_SHA256_KDF=y
    307   1.1.1.7  christos NEED_AP_MLME=y
    308   1.1.1.9  christos NEED_DRAGONFLY=y
    309   1.1.1.4  christos endif
    310   1.1.1.4  christos 
    311   1.1.1.8  christos ifdef CONFIG_OWE
    312   1.1.1.8  christos CFLAGS += -DCONFIG_OWE
    313   1.1.1.8  christos NEED_ECC=y
    314   1.1.1.8  christos NEED_HMAC_SHA256_KDF=y
    315   1.1.1.8  christos NEED_HMAC_SHA384_KDF=y
    316   1.1.1.8  christos NEED_HMAC_SHA512_KDF=y
    317   1.1.1.8  christos NEED_SHA384=y
    318   1.1.1.8  christos NEED_SHA512=y
    319   1.1.1.8  christos endif
    320   1.1.1.8  christos 
    321   1.1.1.9  christos ifdef CONFIG_AIRTIME_POLICY
    322   1.1.1.9  christos CFLAGS += -DCONFIG_AIRTIME_POLICY
    323   1.1.1.9  christos OBJS += ../src/ap/airtime_policy.o
    324   1.1.1.9  christos endif
    325   1.1.1.9  christos 
    326   1.1.1.8  christos ifdef CONFIG_FILS
    327   1.1.1.8  christos CFLAGS += -DCONFIG_FILS
    328   1.1.1.8  christos OBJS += ../src/ap/fils_hlp.o
    329   1.1.1.8  christos NEED_SHA384=y
    330   1.1.1.8  christos NEED_AES_SIV=y
    331   1.1.1.8  christos ifdef CONFIG_FILS_SK_PFS
    332   1.1.1.8  christos CFLAGS += -DCONFIG_FILS_SK_PFS
    333   1.1.1.8  christos NEED_ECC=y
    334   1.1.1.8  christos endif
    335   1.1.1.8  christos endif
    336   1.1.1.8  christos 
    337   1.1.1.4  christos ifdef CONFIG_WNM
    338   1.1.1.8  christos CFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP
    339   1.1.1.4  christos OBJS += ../src/ap/wnm_ap.o
    340   1.1.1.4  christos endif
    341   1.1.1.4  christos 
    342   1.1.1.4  christos ifdef CONFIG_IEEE80211AC
    343   1.1.1.4  christos CFLAGS += -DCONFIG_IEEE80211AC
    344   1.1.1.4  christos endif
    345   1.1.1.4  christos 
    346  1.1.1.10  christos ifdef CONFIG_IEEE80211BE
    347  1.1.1.10  christos CONFIG_IEEE80211AX=y
    348  1.1.1.10  christos CFLAGS += -DCONFIG_IEEE80211BE
    349  1.1.1.10  christos OBJS += ../src/ap/ieee802_11_eht.o
    350  1.1.1.10  christos endif
    351  1.1.1.10  christos 
    352   1.1.1.8  christos ifdef CONFIG_IEEE80211AX
    353   1.1.1.8  christos CFLAGS += -DCONFIG_IEEE80211AX
    354   1.1.1.8  christos OBJS += ../src/ap/ieee802_11_he.o
    355   1.1.1.8  christos endif
    356   1.1.1.8  christos 
    357   1.1.1.7  christos ifdef CONFIG_MBO
    358   1.1.1.7  christos CFLAGS += -DCONFIG_MBO
    359   1.1.1.7  christos OBJS += ../src/ap/mbo_ap.o
    360   1.1.1.7  christos endif
    361   1.1.1.7  christos 
    362       1.1  christos include ../src/drivers/drivers.mak
    363       1.1  christos OBJS += $(DRV_AP_OBJS)
    364       1.1  christos CFLAGS += $(DRV_AP_CFLAGS)
    365       1.1  christos LDFLAGS += $(DRV_AP_LDFLAGS)
    366       1.1  christos LIBS += $(DRV_AP_LIBS)
    367       1.1  christos 
    368       1.1  christos ifdef CONFIG_L2_PACKET
    369       1.1  christos ifdef CONFIG_DNET_PCAP
    370       1.1  christos ifdef CONFIG_L2_FREEBSD
    371       1.1  christos LIBS += -lpcap
    372       1.1  christos OBJS += ../src/l2_packet/l2_packet_freebsd.o
    373       1.1  christos else
    374       1.1  christos LIBS += -ldnet -lpcap
    375       1.1  christos OBJS += ../src/l2_packet/l2_packet_pcap.o
    376       1.1  christos endif
    377       1.1  christos else
    378       1.1  christos OBJS += ../src/l2_packet/l2_packet_linux.o
    379       1.1  christos endif
    380       1.1  christos else
    381       1.1  christos OBJS += ../src/l2_packet/l2_packet_none.o
    382       1.1  christos endif
    383       1.1  christos 
    384       1.1  christos 
    385   1.1.1.6  christos ifdef CONFIG_ERP
    386   1.1.1.6  christos CFLAGS += -DCONFIG_ERP
    387   1.1.1.6  christos NEED_HMAC_SHA256_KDF=y
    388   1.1.1.6  christos endif
    389   1.1.1.6  christos 
    390       1.1  christos ifdef CONFIG_EAP_MD5
    391       1.1  christos CFLAGS += -DEAP_SERVER_MD5
    392       1.1  christos OBJS += ../src/eap_server/eap_server_md5.o
    393       1.1  christos CHAP=y
    394       1.1  christos endif
    395       1.1  christos 
    396       1.1  christos ifdef CONFIG_EAP_TLS
    397       1.1  christos CFLAGS += -DEAP_SERVER_TLS
    398       1.1  christos OBJS += ../src/eap_server/eap_server_tls.o
    399       1.1  christos TLS_FUNCS=y
    400       1.1  christos endif
    401       1.1  christos 
    402   1.1.1.4  christos ifdef CONFIG_EAP_UNAUTH_TLS
    403   1.1.1.4  christos CFLAGS += -DEAP_SERVER_UNAUTH_TLS
    404   1.1.1.4  christos ifndef CONFIG_EAP_TLS
    405   1.1.1.4  christos OBJS += ../src/eap_server/eap_server_tls.o
    406   1.1.1.4  christos TLS_FUNCS=y
    407   1.1.1.4  christos endif
    408   1.1.1.4  christos endif
    409   1.1.1.4  christos 
    410       1.1  christos ifdef CONFIG_EAP_PEAP
    411       1.1  christos CFLAGS += -DEAP_SERVER_PEAP
    412       1.1  christos OBJS += ../src/eap_server/eap_server_peap.o
    413       1.1  christos OBJS += ../src/eap_common/eap_peap_common.o
    414       1.1  christos TLS_FUNCS=y
    415       1.1  christos CONFIG_EAP_MSCHAPV2=y
    416       1.1  christos endif
    417       1.1  christos 
    418       1.1  christos ifdef CONFIG_EAP_TTLS
    419       1.1  christos CFLAGS += -DEAP_SERVER_TTLS
    420       1.1  christos OBJS += ../src/eap_server/eap_server_ttls.o
    421       1.1  christos TLS_FUNCS=y
    422       1.1  christos CHAP=y
    423       1.1  christos endif
    424       1.1  christos 
    425       1.1  christos ifdef CONFIG_EAP_MSCHAPV2
    426       1.1  christos CFLAGS += -DEAP_SERVER_MSCHAPV2
    427       1.1  christos OBJS += ../src/eap_server/eap_server_mschapv2.o
    428       1.1  christos MS_FUNCS=y
    429       1.1  christos endif
    430       1.1  christos 
    431       1.1  christos ifdef CONFIG_EAP_GTC
    432       1.1  christos CFLAGS += -DEAP_SERVER_GTC
    433       1.1  christos OBJS += ../src/eap_server/eap_server_gtc.o
    434       1.1  christos endif
    435       1.1  christos 
    436       1.1  christos ifdef CONFIG_EAP_SIM
    437       1.1  christos CFLAGS += -DEAP_SERVER_SIM
    438       1.1  christos OBJS += ../src/eap_server/eap_server_sim.o
    439       1.1  christos CONFIG_EAP_SIM_COMMON=y
    440       1.1  christos NEED_AES_CBC=y
    441       1.1  christos endif
    442       1.1  christos 
    443       1.1  christos ifdef CONFIG_EAP_AKA
    444       1.1  christos CFLAGS += -DEAP_SERVER_AKA
    445       1.1  christos OBJS += ../src/eap_server/eap_server_aka.o
    446       1.1  christos CONFIG_EAP_SIM_COMMON=y
    447       1.1  christos NEED_AES_CBC=y
    448       1.1  christos endif
    449       1.1  christos 
    450       1.1  christos ifdef CONFIG_EAP_AKA_PRIME
    451       1.1  christos CFLAGS += -DEAP_SERVER_AKA_PRIME
    452       1.1  christos endif
    453       1.1  christos 
    454       1.1  christos ifdef CONFIG_EAP_SIM_COMMON
    455       1.1  christos OBJS += ../src/eap_common/eap_sim_common.o
    456       1.1  christos # Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
    457  1.1.1.10  christos # replaced with another file implementing the interface specified in
    458       1.1  christos # eap_sim_db.h.
    459       1.1  christos OBJS += ../src/eap_server/eap_sim_db.o
    460       1.1  christos NEED_FIPS186_2_PRF=y
    461       1.1  christos endif
    462       1.1  christos 
    463       1.1  christos ifdef CONFIG_EAP_PAX
    464       1.1  christos CFLAGS += -DEAP_SERVER_PAX
    465       1.1  christos OBJS += ../src/eap_server/eap_server_pax.o ../src/eap_common/eap_pax_common.o
    466       1.1  christos endif
    467       1.1  christos 
    468       1.1  christos ifdef CONFIG_EAP_PSK
    469       1.1  christos CFLAGS += -DEAP_SERVER_PSK
    470       1.1  christos OBJS += ../src/eap_server/eap_server_psk.o ../src/eap_common/eap_psk_common.o
    471       1.1  christos NEED_AES_ENCBLOCK=y
    472       1.1  christos NEED_AES_EAX=y
    473       1.1  christos endif
    474       1.1  christos 
    475       1.1  christos ifdef CONFIG_EAP_SAKE
    476       1.1  christos CFLAGS += -DEAP_SERVER_SAKE
    477       1.1  christos OBJS += ../src/eap_server/eap_server_sake.o ../src/eap_common/eap_sake_common.o
    478       1.1  christos endif
    479       1.1  christos 
    480       1.1  christos ifdef CONFIG_EAP_GPSK
    481       1.1  christos CFLAGS += -DEAP_SERVER_GPSK
    482       1.1  christos OBJS += ../src/eap_server/eap_server_gpsk.o ../src/eap_common/eap_gpsk_common.o
    483       1.1  christos ifdef CONFIG_EAP_GPSK_SHA256
    484   1.1.1.5  christos CFLAGS += -DEAP_GPSK_SHA256
    485       1.1  christos endif
    486       1.1  christos endif
    487       1.1  christos 
    488   1.1.1.3  christos ifdef CONFIG_EAP_PWD
    489   1.1.1.3  christos CFLAGS += -DEAP_SERVER_PWD
    490   1.1.1.3  christos OBJS += ../src/eap_server/eap_server_pwd.o ../src/eap_common/eap_pwd_common.o
    491   1.1.1.8  christos NEED_ECC=y
    492   1.1.1.9  christos NEED_DRAGONFLY=y
    493   1.1.1.3  christos endif
    494   1.1.1.3  christos 
    495   1.1.1.5  christos ifdef CONFIG_EAP_EKE
    496   1.1.1.5  christos CFLAGS += -DEAP_SERVER_EKE
    497   1.1.1.5  christos OBJS += ../src/eap_server/eap_server_eke.o ../src/eap_common/eap_eke_common.o
    498   1.1.1.5  christos NEED_DH_GROUPS=y
    499   1.1.1.5  christos NEED_DH_GROUPS_ALL=y
    500   1.1.1.5  christos endif
    501   1.1.1.5  christos 
    502       1.1  christos ifdef CONFIG_EAP_VENDOR_TEST
    503       1.1  christos CFLAGS += -DEAP_SERVER_VENDOR_TEST
    504       1.1  christos OBJS += ../src/eap_server/eap_server_vendor_test.o
    505       1.1  christos endif
    506       1.1  christos 
    507       1.1  christos ifdef CONFIG_EAP_FAST
    508       1.1  christos CFLAGS += -DEAP_SERVER_FAST
    509       1.1  christos OBJS += ../src/eap_server/eap_server_fast.o
    510       1.1  christos OBJS += ../src/eap_common/eap_fast_common.o
    511       1.1  christos TLS_FUNCS=y
    512       1.1  christos NEED_T_PRF=y
    513       1.1  christos NEED_AES_UNWRAP=y
    514       1.1  christos endif
    515       1.1  christos 
    516   1.1.1.9  christos ifdef CONFIG_EAP_TEAP
    517   1.1.1.9  christos CFLAGS += -DEAP_SERVER_TEAP
    518   1.1.1.9  christos OBJS += ../src/eap_server/eap_server_teap.o
    519   1.1.1.9  christos OBJS += ../src/eap_common/eap_teap_common.o
    520   1.1.1.9  christos TLS_FUNCS=y
    521   1.1.1.9  christos NEED_T_PRF=y
    522   1.1.1.9  christos NEED_SHA384=y
    523  1.1.1.10  christos NEED_TLS_PRF_SHA256=y
    524  1.1.1.10  christos NEED_TLS_PRF_SHA384=y
    525   1.1.1.9  christos NEED_AES_UNWRAP=y
    526   1.1.1.9  christos endif
    527   1.1.1.9  christos 
    528       1.1  christos ifdef CONFIG_WPS
    529       1.1  christos CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
    530       1.1  christos OBJS += ../src/utils/uuid.o
    531       1.1  christos OBJS += ../src/ap/wps_hostapd.o
    532       1.1  christos OBJS += ../src/eap_server/eap_server_wsc.o ../src/eap_common/eap_wsc_common.o
    533       1.1  christos OBJS += ../src/wps/wps.o
    534       1.1  christos OBJS += ../src/wps/wps_common.o
    535       1.1  christos OBJS += ../src/wps/wps_attr_parse.o
    536       1.1  christos OBJS += ../src/wps/wps_attr_build.o
    537       1.1  christos OBJS += ../src/wps/wps_attr_process.o
    538       1.1  christos OBJS += ../src/wps/wps_dev_attr.o
    539       1.1  christos OBJS += ../src/wps/wps_enrollee.o
    540       1.1  christos OBJS += ../src/wps/wps_registrar.o
    541       1.1  christos NEED_DH_GROUPS=y
    542       1.1  christos NEED_BASE64=y
    543       1.1  christos NEED_AES_CBC=y
    544       1.1  christos NEED_MODEXP=y
    545       1.1  christos CONFIG_EAP=y
    546       1.1  christos 
    547       1.1  christos ifdef CONFIG_WPS_NFC
    548       1.1  christos CFLAGS += -DCONFIG_WPS_NFC
    549       1.1  christos OBJS += ../src/wps/ndef.o
    550       1.1  christos NEED_WPS_OOB=y
    551       1.1  christos endif
    552       1.1  christos 
    553       1.1  christos ifdef NEED_WPS_OOB
    554       1.1  christos CFLAGS += -DCONFIG_WPS_OOB
    555       1.1  christos endif
    556       1.1  christos 
    557       1.1  christos ifdef CONFIG_WPS_UPNP
    558       1.1  christos CFLAGS += -DCONFIG_WPS_UPNP
    559       1.1  christos OBJS += ../src/wps/wps_upnp.o
    560       1.1  christos OBJS += ../src/wps/wps_upnp_ssdp.o
    561       1.1  christos OBJS += ../src/wps/wps_upnp_web.o
    562       1.1  christos OBJS += ../src/wps/wps_upnp_event.o
    563       1.1  christos OBJS += ../src/wps/wps_upnp_ap.o
    564       1.1  christos OBJS += ../src/wps/upnp_xml.o
    565       1.1  christos OBJS += ../src/wps/httpread.o
    566       1.1  christos OBJS += ../src/wps/http_client.o
    567       1.1  christos OBJS += ../src/wps/http_server.o
    568       1.1  christos endif
    569       1.1  christos 
    570   1.1.1.3  christos ifdef CONFIG_WPS_STRICT
    571   1.1.1.3  christos CFLAGS += -DCONFIG_WPS_STRICT
    572   1.1.1.3  christos OBJS += ../src/wps/wps_validate.o
    573   1.1.1.3  christos endif
    574   1.1.1.3  christos 
    575   1.1.1.3  christos ifdef CONFIG_WPS_TESTING
    576   1.1.1.3  christos CFLAGS += -DCONFIG_WPS_TESTING
    577   1.1.1.3  christos endif
    578   1.1.1.3  christos 
    579       1.1  christos endif
    580       1.1  christos 
    581   1.1.1.8  christos ifdef CONFIG_DPP
    582   1.1.1.8  christos CFLAGS += -DCONFIG_DPP
    583   1.1.1.8  christos OBJS += ../src/common/dpp.o
    584  1.1.1.10  christos OBJS += ../src/common/dpp_auth.o
    585  1.1.1.10  christos OBJS += ../src/common/dpp_backup.o
    586  1.1.1.10  christos OBJS += ../src/common/dpp_crypto.o
    587  1.1.1.10  christos OBJS += ../src/common/dpp_pkex.o
    588  1.1.1.10  christos OBJS += ../src/common/dpp_reconfig.o
    589  1.1.1.10  christos OBJS += ../src/common/dpp_tcp.o
    590   1.1.1.8  christos OBJS += ../src/ap/dpp_hostapd.o
    591   1.1.1.8  christos OBJS += ../src/ap/gas_query_ap.o
    592   1.1.1.8  christos NEED_AES_SIV=y
    593   1.1.1.8  christos NEED_HMAC_SHA256_KDF=y
    594   1.1.1.8  christos NEED_HMAC_SHA384_KDF=y
    595   1.1.1.8  christos NEED_HMAC_SHA512_KDF=y
    596   1.1.1.8  christos NEED_SHA384=y
    597   1.1.1.8  christos NEED_SHA512=y
    598  1.1.1.10  christos NEED_ECC=y
    599   1.1.1.8  christos NEED_JSON=y
    600   1.1.1.8  christos NEED_GAS=y
    601   1.1.1.8  christos NEED_BASE64=y
    602  1.1.1.10  christos NEED_ASN1=y
    603   1.1.1.9  christos ifdef CONFIG_DPP2
    604   1.1.1.9  christos CFLAGS += -DCONFIG_DPP2
    605   1.1.1.9  christos endif
    606  1.1.1.10  christos ifdef CONFIG_DPP3
    607  1.1.1.10  christos CFLAGS += -DCONFIG_DPP3
    608  1.1.1.10  christos endif
    609  1.1.1.10  christos endif
    610  1.1.1.10  christos 
    611  1.1.1.10  christos ifdef CONFIG_NAN_USD
    612  1.1.1.10  christos OBJS += ../src/common/nan_de.o
    613  1.1.1.10  christos OBJS += ../src/ap/nan_usd_ap.o
    614  1.1.1.10  christos CFLAGS += -DCONFIG_NAN_USD
    615  1.1.1.10  christos endif
    616  1.1.1.10  christos 
    617  1.1.1.10  christos ifdef CONFIG_PASN
    618  1.1.1.10  christos CFLAGS += -DCONFIG_PASN
    619  1.1.1.10  christos CFLAGS += -DCONFIG_PTKSA_CACHE
    620  1.1.1.10  christos NEED_HMAC_SHA256_KDF=y
    621  1.1.1.10  christos NEED_HMAC_SHA384_KDF=y
    622  1.1.1.10  christos NEED_SHA256=y
    623  1.1.1.10  christos NEED_SHA384=y
    624   1.1.1.8  christos endif
    625   1.1.1.8  christos 
    626       1.1  christos ifdef CONFIG_EAP_IKEV2
    627       1.1  christos CFLAGS += -DEAP_SERVER_IKEV2
    628       1.1  christos OBJS += ../src/eap_server/eap_server_ikev2.o ../src/eap_server/ikev2.o
    629       1.1  christos OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
    630       1.1  christos NEED_DH_GROUPS=y
    631       1.1  christos NEED_DH_GROUPS_ALL=y
    632       1.1  christos NEED_MODEXP=y
    633       1.1  christos NEED_CIPHER=y
    634       1.1  christos endif
    635       1.1  christos 
    636       1.1  christos ifdef CONFIG_EAP_TNC
    637       1.1  christos CFLAGS += -DEAP_SERVER_TNC
    638       1.1  christos OBJS += ../src/eap_server/eap_server_tnc.o
    639       1.1  christos OBJS += ../src/eap_server/tncs.o
    640       1.1  christos NEED_BASE64=y
    641       1.1  christos ifndef CONFIG_DRIVER_BSD
    642       1.1  christos LIBS += -ldl
    643       1.1  christos endif
    644       1.1  christos endif
    645       1.1  christos 
    646   1.1.1.9  christos ifdef CONFIG_MACSEC
    647   1.1.1.9  christos CFLAGS += -DCONFIG_MACSEC
    648   1.1.1.9  christos OBJS += ../src/ap/wpa_auth_kay.o
    649   1.1.1.9  christos OBJS += ../src/pae/ieee802_1x_cp.o
    650   1.1.1.9  christos OBJS += ../src/pae/ieee802_1x_kay.o
    651   1.1.1.9  christos OBJS += ../src/pae/ieee802_1x_key.o
    652   1.1.1.9  christos OBJS += ../src/pae/ieee802_1x_secy_ops.o
    653   1.1.1.9  christos endif
    654   1.1.1.9  christos 
    655       1.1  christos # Basic EAP functionality is needed for EAPOL
    656       1.1  christos OBJS += eap_register.o
    657       1.1  christos OBJS += ../src/eap_server/eap_server.o
    658       1.1  christos OBJS += ../src/eap_common/eap_common.o
    659       1.1  christos OBJS += ../src/eap_server/eap_server_methods.o
    660       1.1  christos OBJS += ../src/eap_server/eap_server_identity.o
    661       1.1  christos CFLAGS += -DEAP_SERVER_IDENTITY
    662       1.1  christos 
    663       1.1  christos ifdef CONFIG_EAP
    664       1.1  christos CFLAGS += -DEAP_SERVER
    665       1.1  christos endif
    666       1.1  christos 
    667       1.1  christos ifdef CONFIG_PKCS12
    668       1.1  christos CFLAGS += -DPKCS12_FUNCS
    669       1.1  christos endif
    670       1.1  christos 
    671   1.1.1.9  christos ifdef NEED_DRAGONFLY
    672   1.1.1.9  christos OBJS += ../src/common/dragonfly.o
    673   1.1.1.9  christos endif
    674   1.1.1.9  christos 
    675       1.1  christos ifdef MS_FUNCS
    676       1.1  christos OBJS += ../src/crypto/ms_funcs.o
    677       1.1  christos NEED_DES=y
    678       1.1  christos NEED_MD4=y
    679       1.1  christos endif
    680       1.1  christos 
    681       1.1  christos ifdef CHAP
    682       1.1  christos OBJS += ../src/eap_common/chap.o
    683       1.1  christos endif
    684       1.1  christos 
    685  1.1.1.10  christos ifdef CONFIG_RADIUS_TLS
    686  1.1.1.10  christos TLS_FUNCS=y
    687  1.1.1.10  christos CFLAGS += -DCONFIG_RADIUS_TLS
    688  1.1.1.10  christos endif
    689  1.1.1.10  christos 
    690       1.1  christos ifdef TLS_FUNCS
    691       1.1  christos NEED_DES=y
    692       1.1  christos # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
    693       1.1  christos CFLAGS += -DEAP_TLS_FUNCS
    694       1.1  christos OBJS += ../src/eap_server/eap_server_tls_common.o
    695       1.1  christos NEED_TLS_PRF=y
    696       1.1  christos endif
    697       1.1  christos 
    698       1.1  christos ifndef CONFIG_TLS
    699       1.1  christos CONFIG_TLS=openssl
    700       1.1  christos endif
    701       1.1  christos 
    702   1.1.1.3  christos ifdef CONFIG_TLSV11
    703   1.1.1.3  christos CFLAGS += -DCONFIG_TLSV11
    704   1.1.1.3  christos endif
    705   1.1.1.3  christos 
    706   1.1.1.4  christos ifdef CONFIG_TLSV12
    707   1.1.1.4  christos CFLAGS += -DCONFIG_TLSV12
    708   1.1.1.4  christos endif
    709   1.1.1.4  christos 
    710   1.1.1.8  christos ifeq ($(CONFIG_TLS), wolfssl)
    711   1.1.1.8  christos CONFIG_CRYPTO=wolfssl
    712   1.1.1.8  christos ifdef TLS_FUNCS
    713   1.1.1.8  christos OBJS += ../src/crypto/tls_wolfssl.o
    714   1.1.1.8  christos LIBS += -lwolfssl -lm
    715   1.1.1.8  christos endif
    716   1.1.1.8  christos OBJS += ../src/crypto/crypto_wolfssl.o
    717   1.1.1.8  christos HOBJS += ../src/crypto/crypto_wolfssl.o
    718   1.1.1.8  christos ifdef NEED_FIPS186_2_PRF
    719   1.1.1.8  christos OBJS += ../src/crypto/fips_prf_wolfssl.o
    720   1.1.1.8  christos endif
    721   1.1.1.8  christos NEED_TLS_PRF_SHA256=y
    722   1.1.1.8  christos LIBS += -lwolfssl -lm
    723   1.1.1.8  christos LIBS_h += -lwolfssl -lm
    724   1.1.1.8  christos ifdef CONFIG_TLS_ADD_DL
    725   1.1.1.8  christos LIBS += -ldl
    726   1.1.1.8  christos LIBS_h += -ldl
    727   1.1.1.8  christos endif
    728   1.1.1.8  christos endif
    729   1.1.1.8  christos 
    730       1.1  christos ifeq ($(CONFIG_TLS), openssl)
    731  1.1.1.10  christos CFLAGS += -DCRYPTO_RSA_OAEP_SHA256
    732   1.1.1.8  christos CONFIG_CRYPTO=openssl
    733       1.1  christos ifdef TLS_FUNCS
    734       1.1  christos OBJS += ../src/crypto/tls_openssl.o
    735   1.1.1.7  christos OBJS += ../src/crypto/tls_openssl_ocsp.o
    736       1.1  christos LIBS += -lssl
    737       1.1  christos endif
    738       1.1  christos OBJS += ../src/crypto/crypto_openssl.o
    739       1.1  christos HOBJS += ../src/crypto/crypto_openssl.o
    740  1.1.1.10  christos SOBJS += ../src/crypto/crypto_openssl.o
    741       1.1  christos ifdef NEED_FIPS186_2_PRF
    742       1.1  christos OBJS += ../src/crypto/fips_prf_openssl.o
    743       1.1  christos endif
    744   1.1.1.7  christos NEED_TLS_PRF_SHA256=y
    745       1.1  christos LIBS += -lcrypto
    746       1.1  christos LIBS_h += -lcrypto
    747   1.1.1.8  christos LIBS_n += -lcrypto
    748  1.1.1.10  christos LIBS_s += -lcrypto
    749   1.1.1.7  christos ifdef CONFIG_TLS_ADD_DL
    750   1.1.1.7  christos LIBS += -ldl
    751   1.1.1.7  christos LIBS_h += -ldl
    752  1.1.1.10  christos LIBS_s += -ldl
    753   1.1.1.7  christos endif
    754   1.1.1.8  christos ifndef CONFIG_TLS_DEFAULT_CIPHERS
    755   1.1.1.8  christos CONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW"
    756   1.1.1.8  christos endif
    757   1.1.1.8  christos CFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\"
    758       1.1  christos endif
    759       1.1  christos 
    760       1.1  christos ifeq ($(CONFIG_TLS), gnutls)
    761   1.1.1.8  christos ifndef CONFIG_CRYPTO
    762   1.1.1.8  christos # default to libgcrypt
    763   1.1.1.8  christos CONFIG_CRYPTO=gnutls
    764   1.1.1.8  christos endif
    765       1.1  christos ifdef TLS_FUNCS
    766       1.1  christos OBJS += ../src/crypto/tls_gnutls.o
    767       1.1  christos LIBS += -lgnutls -lgpg-error
    768       1.1  christos endif
    769   1.1.1.8  christos OBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
    770   1.1.1.8  christos HOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
    771       1.1  christos ifdef NEED_FIPS186_2_PRF
    772   1.1.1.5  christos OBJS += ../src/crypto/fips_prf_internal.o
    773   1.1.1.5  christos SHA1OBJS += ../src/crypto/sha1-internal.o
    774       1.1  christos endif
    775   1.1.1.8  christos ifeq ($(CONFIG_CRYPTO), gnutls)
    776       1.1  christos LIBS += -lgcrypt
    777       1.1  christos LIBS_h += -lgcrypt
    778   1.1.1.8  christos LIBS_n += -lgcrypt
    779   1.1.1.8  christos CONFIG_INTERNAL_RC4=y
    780   1.1.1.8  christos CONFIG_INTERNAL_DH_GROUP5=y
    781   1.1.1.8  christos endif
    782   1.1.1.8  christos ifeq ($(CONFIG_CRYPTO), nettle)
    783   1.1.1.8  christos LIBS += -lnettle -lgmp
    784   1.1.1.8  christos LIBS_p += -lnettle -lgmp
    785       1.1  christos CONFIG_INTERNAL_RC4=y
    786       1.1  christos CONFIG_INTERNAL_DH_GROUP5=y
    787       1.1  christos endif
    788   1.1.1.8  christos endif
    789       1.1  christos 
    790       1.1  christos ifeq ($(CONFIG_TLS), internal)
    791       1.1  christos ifndef CONFIG_CRYPTO
    792       1.1  christos CONFIG_CRYPTO=internal
    793       1.1  christos endif
    794       1.1  christos ifdef TLS_FUNCS
    795       1.1  christos OBJS += ../src/crypto/crypto_internal-rsa.o
    796       1.1  christos OBJS += ../src/crypto/tls_internal.o
    797       1.1  christos OBJS += ../src/tls/tlsv1_common.o
    798       1.1  christos OBJS += ../src/tls/tlsv1_record.o
    799       1.1  christos OBJS += ../src/tls/tlsv1_cred.o
    800       1.1  christos OBJS += ../src/tls/tlsv1_server.o
    801       1.1  christos OBJS += ../src/tls/tlsv1_server_write.o
    802       1.1  christos OBJS += ../src/tls/tlsv1_server_read.o
    803       1.1  christos OBJS += ../src/tls/rsa.o
    804       1.1  christos OBJS += ../src/tls/x509v3.o
    805       1.1  christos OBJS += ../src/tls/pkcs1.o
    806       1.1  christos OBJS += ../src/tls/pkcs5.o
    807       1.1  christos OBJS += ../src/tls/pkcs8.o
    808  1.1.1.10  christos NEED_ASN1=y
    809       1.1  christos NEED_BASE64=y
    810       1.1  christos NEED_TLS_PRF=y
    811   1.1.1.4  christos ifdef CONFIG_TLSV12
    812   1.1.1.4  christos NEED_TLS_PRF_SHA256=y
    813   1.1.1.4  christos endif
    814       1.1  christos NEED_MODEXP=y
    815       1.1  christos NEED_CIPHER=y
    816       1.1  christos CFLAGS += -DCONFIG_TLS_INTERNAL
    817       1.1  christos CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
    818       1.1  christos endif
    819       1.1  christos ifdef NEED_CIPHER
    820       1.1  christos NEED_DES=y
    821       1.1  christos OBJS += ../src/crypto/crypto_internal-cipher.o
    822       1.1  christos endif
    823       1.1  christos ifdef NEED_MODEXP
    824       1.1  christos OBJS += ../src/crypto/crypto_internal-modexp.o
    825       1.1  christos OBJS += ../src/tls/bignum.o
    826       1.1  christos endif
    827       1.1  christos ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    828       1.1  christos OBJS += ../src/crypto/crypto_libtomcrypt.o
    829       1.1  christos LIBS += -ltomcrypt -ltfm
    830       1.1  christos LIBS_h += -ltomcrypt -ltfm
    831       1.1  christos CONFIG_INTERNAL_SHA256=y
    832       1.1  christos CONFIG_INTERNAL_RC4=y
    833       1.1  christos CONFIG_INTERNAL_DH_GROUP5=y
    834       1.1  christos endif
    835       1.1  christos ifeq ($(CONFIG_CRYPTO), internal)
    836       1.1  christos OBJS += ../src/crypto/crypto_internal.o
    837       1.1  christos NEED_AES_DEC=y
    838       1.1  christos CFLAGS += -DCONFIG_CRYPTO_INTERNAL
    839       1.1  christos ifdef CONFIG_INTERNAL_LIBTOMMATH
    840       1.1  christos CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
    841       1.1  christos ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
    842       1.1  christos CFLAGS += -DLTM_FAST
    843       1.1  christos endif
    844       1.1  christos else
    845       1.1  christos LIBS += -ltommath
    846       1.1  christos LIBS_h += -ltommath
    847       1.1  christos endif
    848       1.1  christos CONFIG_INTERNAL_AES=y
    849       1.1  christos CONFIG_INTERNAL_DES=y
    850       1.1  christos CONFIG_INTERNAL_SHA1=y
    851       1.1  christos CONFIG_INTERNAL_MD4=y
    852       1.1  christos CONFIG_INTERNAL_MD5=y
    853       1.1  christos CONFIG_INTERNAL_SHA256=y
    854   1.1.1.7  christos CONFIG_INTERNAL_SHA384=y
    855   1.1.1.7  christos CONFIG_INTERNAL_SHA512=y
    856       1.1  christos CONFIG_INTERNAL_RC4=y
    857       1.1  christos CONFIG_INTERNAL_DH_GROUP5=y
    858       1.1  christos endif
    859       1.1  christos ifeq ($(CONFIG_CRYPTO), cryptoapi)
    860       1.1  christos OBJS += ../src/crypto/crypto_cryptoapi.o
    861       1.1  christos OBJS_p += ../src/crypto/crypto_cryptoapi.o
    862       1.1  christos CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
    863       1.1  christos CONFIG_INTERNAL_SHA256=y
    864       1.1  christos CONFIG_INTERNAL_RC4=y
    865       1.1  christos endif
    866       1.1  christos endif
    867       1.1  christos 
    868   1.1.1.8  christos ifeq ($(CONFIG_TLS), linux)
    869   1.1.1.8  christos OBJS += ../src/crypto/crypto_linux.o
    870   1.1.1.8  christos ifdef TLS_FUNCS
    871   1.1.1.8  christos OBJS += ../src/crypto/crypto_internal-rsa.o
    872   1.1.1.8  christos OBJS += ../src/crypto/tls_internal.o
    873   1.1.1.8  christos OBJS += ../src/tls/tlsv1_common.o
    874   1.1.1.8  christos OBJS += ../src/tls/tlsv1_record.o
    875   1.1.1.8  christos OBJS += ../src/tls/tlsv1_cred.o
    876   1.1.1.8  christos OBJS += ../src/tls/tlsv1_server.o
    877   1.1.1.8  christos OBJS += ../src/tls/tlsv1_server_write.o
    878   1.1.1.8  christos OBJS += ../src/tls/tlsv1_server_read.o
    879   1.1.1.8  christos OBJS += ../src/tls/rsa.o
    880   1.1.1.8  christos OBJS += ../src/tls/x509v3.o
    881   1.1.1.8  christos OBJS += ../src/tls/pkcs1.o
    882   1.1.1.8  christos OBJS += ../src/tls/pkcs5.o
    883   1.1.1.8  christos OBJS += ../src/tls/pkcs8.o
    884  1.1.1.10  christos NEED_ASN1=y
    885   1.1.1.8  christos NEED_BASE64=y
    886   1.1.1.8  christos NEED_TLS_PRF=y
    887   1.1.1.8  christos ifdef CONFIG_TLSV12
    888   1.1.1.8  christos NEED_TLS_PRF_SHA256=y
    889   1.1.1.8  christos endif
    890   1.1.1.8  christos NEED_MODEXP=y
    891   1.1.1.8  christos NEED_CIPHER=y
    892   1.1.1.8  christos CFLAGS += -DCONFIG_TLS_INTERNAL
    893   1.1.1.8  christos CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
    894   1.1.1.8  christos endif
    895   1.1.1.8  christos ifdef NEED_MODEXP
    896   1.1.1.8  christos OBJS += ../src/crypto/crypto_internal-modexp.o
    897   1.1.1.8  christos OBJS += ../src/tls/bignum.o
    898   1.1.1.8  christos CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
    899   1.1.1.8  christos CFLAGS += -DLTM_FAST
    900   1.1.1.8  christos endif
    901   1.1.1.8  christos CONFIG_INTERNAL_DH_GROUP5=y
    902   1.1.1.8  christos ifdef NEED_FIPS186_2_PRF
    903   1.1.1.8  christos OBJS += ../src/crypto/fips_prf_internal.o
    904   1.1.1.8  christos OBJS += ../src/crypto/sha1-internal.o
    905   1.1.1.8  christos endif
    906   1.1.1.8  christos endif
    907   1.1.1.8  christos 
    908       1.1  christos ifeq ($(CONFIG_TLS), none)
    909       1.1  christos ifdef TLS_FUNCS
    910       1.1  christos OBJS += ../src/crypto/tls_none.o
    911       1.1  christos CFLAGS += -DEAP_TLS_NONE
    912       1.1  christos CONFIG_INTERNAL_AES=y
    913       1.1  christos CONFIG_INTERNAL_SHA1=y
    914       1.1  christos CONFIG_INTERNAL_MD5=y
    915       1.1  christos endif
    916       1.1  christos OBJS += ../src/crypto/crypto_none.o
    917       1.1  christos OBJS_p += ../src/crypto/crypto_none.o
    918       1.1  christos CONFIG_INTERNAL_SHA256=y
    919       1.1  christos CONFIG_INTERNAL_RC4=y
    920       1.1  christos endif
    921       1.1  christos 
    922       1.1  christos ifndef TLS_FUNCS
    923       1.1  christos OBJS += ../src/crypto/tls_none.o
    924       1.1  christos ifeq ($(CONFIG_TLS), internal)
    925       1.1  christos CONFIG_INTERNAL_AES=y
    926       1.1  christos CONFIG_INTERNAL_SHA1=y
    927       1.1  christos CONFIG_INTERNAL_MD5=y
    928       1.1  christos CONFIG_INTERNAL_RC4=y
    929       1.1  christos endif
    930       1.1  christos endif
    931       1.1  christos 
    932       1.1  christos AESOBJS = # none so far
    933       1.1  christos ifdef CONFIG_INTERNAL_AES
    934       1.1  christos AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-enc.o
    935       1.1  christos endif
    936       1.1  christos 
    937   1.1.1.6  christos ifneq ($(CONFIG_TLS), openssl)
    938   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
    939       1.1  christos AESOBJS += ../src/crypto/aes-wrap.o
    940   1.1.1.6  christos endif
    941   1.1.1.8  christos endif
    942       1.1  christos ifdef NEED_AES_EAX
    943       1.1  christos AESOBJS += ../src/crypto/aes-eax.o
    944       1.1  christos NEED_AES_CTR=y
    945   1.1.1.8  christos endif
    946   1.1.1.8  christos ifdef NEED_AES_SIV
    947   1.1.1.8  christos AESOBJS += ../src/crypto/aes-siv.o
    948   1.1.1.8  christos NEED_AES_CTR=y
    949       1.1  christos endif
    950       1.1  christos ifdef NEED_AES_CTR
    951       1.1  christos AESOBJS += ../src/crypto/aes-ctr.o
    952       1.1  christos endif
    953       1.1  christos ifdef NEED_AES_ENCBLOCK
    954       1.1  christos AESOBJS += ../src/crypto/aes-encblock.o
    955       1.1  christos endif
    956  1.1.1.10  christos ifneq ($(CONFIG_TLS), openssl)
    957   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
    958   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
    959       1.1  christos AESOBJS += ../src/crypto/aes-omac1.o
    960       1.1  christos endif
    961   1.1.1.8  christos endif
    962   1.1.1.8  christos endif
    963       1.1  christos ifdef NEED_AES_UNWRAP
    964   1.1.1.6  christos ifneq ($(CONFIG_TLS), openssl)
    965   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
    966   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
    967       1.1  christos NEED_AES_DEC=y
    968       1.1  christos AESOBJS += ../src/crypto/aes-unwrap.o
    969       1.1  christos endif
    970   1.1.1.6  christos endif
    971   1.1.1.8  christos endif
    972   1.1.1.8  christos endif
    973       1.1  christos ifdef NEED_AES_CBC
    974       1.1  christos NEED_AES_DEC=y
    975   1.1.1.7  christos ifneq ($(CONFIG_TLS), openssl)
    976   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
    977   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
    978       1.1  christos AESOBJS += ../src/crypto/aes-cbc.o
    979       1.1  christos endif
    980   1.1.1.7  christos endif
    981   1.1.1.8  christos endif
    982   1.1.1.8  christos endif
    983       1.1  christos ifdef NEED_AES_DEC
    984       1.1  christos ifdef CONFIG_INTERNAL_AES
    985       1.1  christos AESOBJS += ../src/crypto/aes-internal-dec.o
    986       1.1  christos endif
    987       1.1  christos endif
    988       1.1  christos ifdef NEED_AES
    989       1.1  christos OBJS += $(AESOBJS)
    990       1.1  christos endif
    991       1.1  christos 
    992       1.1  christos ifdef NEED_SHA1
    993   1.1.1.4  christos ifneq ($(CONFIG_TLS), openssl)
    994   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
    995   1.1.1.8  christos ifneq ($(CONFIG_TLS), gnutls)
    996   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
    997       1.1  christos SHA1OBJS += ../src/crypto/sha1.o
    998   1.1.1.4  christos endif
    999   1.1.1.8  christos endif
   1000   1.1.1.8  christos endif
   1001   1.1.1.8  christos endif
   1002   1.1.1.4  christos SHA1OBJS += ../src/crypto/sha1-prf.o
   1003       1.1  christos ifdef CONFIG_INTERNAL_SHA1
   1004       1.1  christos SHA1OBJS += ../src/crypto/sha1-internal.o
   1005       1.1  christos ifdef NEED_FIPS186_2_PRF
   1006       1.1  christos SHA1OBJS += ../src/crypto/fips_prf_internal.o
   1007       1.1  christos endif
   1008       1.1  christos endif
   1009   1.1.1.4  christos ifneq ($(CONFIG_TLS), openssl)
   1010   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
   1011       1.1  christos SHA1OBJS += ../src/crypto/sha1-pbkdf2.o
   1012   1.1.1.4  christos endif
   1013   1.1.1.8  christos endif
   1014       1.1  christos ifdef NEED_T_PRF
   1015       1.1  christos SHA1OBJS += ../src/crypto/sha1-tprf.o
   1016       1.1  christos endif
   1017       1.1  christos ifdef NEED_TLS_PRF
   1018       1.1  christos SHA1OBJS += ../src/crypto/sha1-tlsprf.o
   1019       1.1  christos endif
   1020       1.1  christos endif
   1021       1.1  christos 
   1022       1.1  christos ifdef NEED_SHA1
   1023       1.1  christos OBJS += $(SHA1OBJS)
   1024       1.1  christos endif
   1025       1.1  christos 
   1026   1.1.1.6  christos ifneq ($(CONFIG_TLS), openssl)
   1027   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
   1028   1.1.1.8  christos ifneq ($(CONFIG_TLS), gnutls)
   1029   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
   1030   1.1.1.6  christos OBJS += ../src/crypto/md5.o
   1031   1.1.1.6  christos endif
   1032   1.1.1.8  christos endif
   1033   1.1.1.8  christos endif
   1034   1.1.1.8  christos endif
   1035   1.1.1.6  christos 
   1036       1.1  christos ifdef NEED_MD5
   1037       1.1  christos ifdef CONFIG_INTERNAL_MD5
   1038       1.1  christos OBJS += ../src/crypto/md5-internal.o
   1039   1.1.1.3  christos HOBJS += ../src/crypto/md5-internal.o
   1040       1.1  christos endif
   1041       1.1  christos endif
   1042       1.1  christos 
   1043       1.1  christos ifdef NEED_MD4
   1044       1.1  christos ifdef CONFIG_INTERNAL_MD4
   1045       1.1  christos OBJS += ../src/crypto/md4-internal.o
   1046       1.1  christos endif
   1047       1.1  christos endif
   1048       1.1  christos 
   1049       1.1  christos ifdef NEED_DES
   1050   1.1.1.8  christos CFLAGS += -DCONFIG_DES
   1051       1.1  christos ifdef CONFIG_INTERNAL_DES
   1052       1.1  christos OBJS += ../src/crypto/des-internal.o
   1053       1.1  christos endif
   1054       1.1  christos endif
   1055       1.1  christos 
   1056   1.1.1.7  christos ifdef CONFIG_NO_RC4
   1057   1.1.1.7  christos CFLAGS += -DCONFIG_NO_RC4
   1058   1.1.1.7  christos endif
   1059   1.1.1.7  christos 
   1060       1.1  christos ifdef NEED_RC4
   1061       1.1  christos ifdef CONFIG_INTERNAL_RC4
   1062   1.1.1.7  christos ifndef CONFIG_NO_RC4
   1063       1.1  christos OBJS += ../src/crypto/rc4.o
   1064       1.1  christos endif
   1065       1.1  christos endif
   1066   1.1.1.7  christos endif
   1067       1.1  christos 
   1068   1.1.1.4  christos CFLAGS += -DCONFIG_SHA256
   1069   1.1.1.4  christos ifneq ($(CONFIG_TLS), openssl)
   1070   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
   1071   1.1.1.8  christos ifneq ($(CONFIG_TLS), gnutls)
   1072   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
   1073       1.1  christos OBJS += ../src/crypto/sha256.o
   1074   1.1.1.4  christos endif
   1075   1.1.1.8  christos endif
   1076   1.1.1.8  christos endif
   1077   1.1.1.8  christos endif
   1078   1.1.1.4  christos OBJS += ../src/crypto/sha256-prf.o
   1079       1.1  christos ifdef CONFIG_INTERNAL_SHA256
   1080       1.1  christos OBJS += ../src/crypto/sha256-internal.o
   1081       1.1  christos endif
   1082   1.1.1.4  christos ifdef NEED_TLS_PRF_SHA256
   1083   1.1.1.4  christos OBJS += ../src/crypto/sha256-tlsprf.o
   1084   1.1.1.4  christos endif
   1085  1.1.1.10  christos ifdef NEED_TLS_PRF_SHA384
   1086  1.1.1.10  christos OBJS += ../src/crypto/sha384-tlsprf.o
   1087  1.1.1.10  christos endif
   1088   1.1.1.6  christos ifdef NEED_HMAC_SHA256_KDF
   1089   1.1.1.6  christos OBJS += ../src/crypto/sha256-kdf.o
   1090   1.1.1.6  christos endif
   1091   1.1.1.8  christos ifdef NEED_HMAC_SHA384_KDF
   1092   1.1.1.8  christos OBJS += ../src/crypto/sha384-kdf.o
   1093   1.1.1.8  christos endif
   1094   1.1.1.8  christos ifdef NEED_HMAC_SHA512_KDF
   1095   1.1.1.8  christos OBJS += ../src/crypto/sha512-kdf.o
   1096   1.1.1.8  christos endif
   1097   1.1.1.6  christos ifdef NEED_SHA384
   1098   1.1.1.6  christos CFLAGS += -DCONFIG_SHA384
   1099   1.1.1.8  christos ifneq ($(CONFIG_TLS), openssl)
   1100   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
   1101   1.1.1.8  christos ifneq ($(CONFIG_TLS), gnutls)
   1102   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
   1103   1.1.1.8  christos OBJS += ../src/crypto/sha384.o
   1104   1.1.1.8  christos endif
   1105   1.1.1.8  christos endif
   1106   1.1.1.8  christos endif
   1107   1.1.1.8  christos endif
   1108   1.1.1.7  christos OBJS += ../src/crypto/sha384-prf.o
   1109   1.1.1.7  christos endif
   1110   1.1.1.8  christos ifdef NEED_SHA512
   1111   1.1.1.8  christos CFLAGS += -DCONFIG_SHA512
   1112   1.1.1.8  christos ifneq ($(CONFIG_TLS), openssl)
   1113   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
   1114   1.1.1.8  christos ifneq ($(CONFIG_TLS), gnutls)
   1115   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
   1116   1.1.1.8  christos OBJS += ../src/crypto/sha512.o
   1117   1.1.1.8  christos endif
   1118   1.1.1.8  christos endif
   1119   1.1.1.8  christos endif
   1120   1.1.1.8  christos endif
   1121   1.1.1.8  christos OBJS += ../src/crypto/sha512-prf.o
   1122   1.1.1.8  christos endif
   1123   1.1.1.7  christos 
   1124   1.1.1.7  christos ifdef CONFIG_INTERNAL_SHA384
   1125   1.1.1.7  christos CFLAGS += -DCONFIG_INTERNAL_SHA384
   1126   1.1.1.7  christos OBJS += ../src/crypto/sha384-internal.o
   1127   1.1.1.7  christos endif
   1128   1.1.1.7  christos 
   1129   1.1.1.7  christos ifdef CONFIG_INTERNAL_SHA512
   1130   1.1.1.7  christos CFLAGS += -DCONFIG_INTERNAL_SHA512
   1131   1.1.1.7  christos OBJS += ../src/crypto/sha512-internal.o
   1132       1.1  christos endif
   1133       1.1  christos 
   1134  1.1.1.10  christos ifdef NEED_ASN1
   1135  1.1.1.10  christos OBJS += ../src/tls/asn1.o
   1136  1.1.1.10  christos endif
   1137  1.1.1.10  christos 
   1138       1.1  christos ifdef NEED_DH_GROUPS
   1139       1.1  christos OBJS += ../src/crypto/dh_groups.o
   1140       1.1  christos endif
   1141       1.1  christos ifdef NEED_DH_GROUPS_ALL
   1142       1.1  christos CFLAGS += -DALL_DH_GROUPS
   1143       1.1  christos endif
   1144       1.1  christos ifdef CONFIG_INTERNAL_DH_GROUP5
   1145       1.1  christos ifdef NEED_DH_GROUPS
   1146       1.1  christos OBJS += ../src/crypto/dh_group5.o
   1147       1.1  christos endif
   1148       1.1  christos endif
   1149       1.1  christos 
   1150   1.1.1.5  christos ifdef NEED_ECC
   1151   1.1.1.5  christos CFLAGS += -DCONFIG_ECC
   1152   1.1.1.5  christos endif
   1153   1.1.1.5  christos 
   1154   1.1.1.3  christos ifdef CONFIG_NO_RANDOM_POOL
   1155   1.1.1.3  christos CFLAGS += -DCONFIG_NO_RANDOM_POOL
   1156   1.1.1.3  christos else
   1157   1.1.1.9  christos ifdef CONFIG_GETRANDOM
   1158   1.1.1.9  christos CFLAGS += -DCONFIG_GETRANDOM
   1159   1.1.1.9  christos endif
   1160   1.1.1.3  christos OBJS += ../src/crypto/random.o
   1161   1.1.1.3  christos HOBJS += ../src/crypto/random.o
   1162   1.1.1.3  christos HOBJS += ../src/utils/eloop.o
   1163   1.1.1.3  christos HOBJS += $(SHA1OBJS)
   1164   1.1.1.7  christos ifneq ($(CONFIG_TLS), openssl)
   1165   1.1.1.8  christos ifneq ($(CONFIG_TLS), linux)
   1166   1.1.1.8  christos ifneq ($(CONFIG_TLS), wolfssl)
   1167   1.1.1.3  christos HOBJS += ../src/crypto/md5.o
   1168   1.1.1.3  christos endif
   1169   1.1.1.7  christos endif
   1170   1.1.1.8  christos endif
   1171   1.1.1.8  christos endif
   1172   1.1.1.3  christos 
   1173       1.1  christos ifdef CONFIG_RADIUS_SERVER
   1174       1.1  christos CFLAGS += -DRADIUS_SERVER
   1175       1.1  christos OBJS += ../src/radius/radius_server.o
   1176       1.1  christos endif
   1177       1.1  christos 
   1178       1.1  christos ifdef CONFIG_IPV6
   1179       1.1  christos CFLAGS += -DCONFIG_IPV6
   1180       1.1  christos endif
   1181       1.1  christos 
   1182       1.1  christos ifdef CONFIG_DRIVER_RADIUS_ACL
   1183       1.1  christos CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
   1184       1.1  christos endif
   1185       1.1  christos 
   1186       1.1  christos ifdef NEED_BASE64
   1187       1.1  christos OBJS += ../src/utils/base64.o
   1188       1.1  christos endif
   1189       1.1  christos 
   1190   1.1.1.8  christos ifdef NEED_JSON
   1191   1.1.1.8  christos OBJS += ../src/utils/json.o
   1192   1.1.1.8  christos CFLAGS += -DCONFIG_JSON
   1193   1.1.1.8  christos endif
   1194   1.1.1.8  christos 
   1195       1.1  christos ifdef NEED_AP_MLME
   1196       1.1  christos OBJS += ../src/ap/wmm.o
   1197       1.1  christos OBJS += ../src/ap/ap_list.o
   1198  1.1.1.10  christos OBJS += ../src/ap/comeback_token.o
   1199  1.1.1.10  christos OBJS += ../src/pasn/pasn_responder.o
   1200  1.1.1.10  christos OBJS += ../src/pasn/pasn_common.o
   1201       1.1  christos OBJS += ../src/ap/ieee802_11.o
   1202       1.1  christos OBJS += ../src/ap/hw_features.o
   1203   1.1.1.5  christos OBJS += ../src/ap/dfs.o
   1204   1.1.1.2  christos CFLAGS += -DNEED_AP_MLME
   1205   1.1.1.2  christos endif
   1206       1.1  christos OBJS += ../src/ap/ieee802_11_ht.o
   1207       1.1  christos 
   1208   1.1.1.4  christos ifdef CONFIG_IEEE80211AC
   1209   1.1.1.4  christos OBJS += ../src/ap/ieee802_11_vht.o
   1210   1.1.1.4  christos endif
   1211   1.1.1.4  christos 
   1212   1.1.1.3  christos ifdef CONFIG_P2P_MANAGER
   1213   1.1.1.3  christos CFLAGS += -DCONFIG_P2P_MANAGER
   1214   1.1.1.3  christos OBJS += ../src/ap/p2p_hostapd.o
   1215   1.1.1.3  christos endif
   1216   1.1.1.3  christos 
   1217   1.1.1.4  christos ifdef CONFIG_HS20
   1218   1.1.1.4  christos CFLAGS += -DCONFIG_HS20
   1219   1.1.1.4  christos OBJS += ../src/ap/hs20.o
   1220   1.1.1.4  christos CONFIG_INTERWORKING=y
   1221   1.1.1.4  christos endif
   1222   1.1.1.4  christos 
   1223   1.1.1.3  christos ifdef CONFIG_INTERWORKING
   1224   1.1.1.3  christos CFLAGS += -DCONFIG_INTERWORKING
   1225   1.1.1.8  christos NEED_GAS=y
   1226   1.1.1.8  christos endif
   1227   1.1.1.8  christos 
   1228   1.1.1.8  christos ifdef NEED_GAS
   1229   1.1.1.4  christos OBJS += ../src/common/gas.o
   1230   1.1.1.4  christos OBJS += ../src/ap/gas_serv.o
   1231   1.1.1.3  christos endif
   1232   1.1.1.3  christos 
   1233   1.1.1.6  christos ifdef CONFIG_PROXYARP
   1234   1.1.1.6  christos CFLAGS += -DCONFIG_PROXYARP
   1235   1.1.1.6  christos OBJS += ../src/ap/x_snoop.o
   1236   1.1.1.6  christos OBJS += ../src/ap/dhcp_snoop.o
   1237   1.1.1.6  christos ifdef CONFIG_IPV6
   1238   1.1.1.6  christos OBJS += ../src/ap/ndisc_snoop.o
   1239   1.1.1.6  christos endif
   1240   1.1.1.6  christos endif
   1241   1.1.1.6  christos 
   1242   1.1.1.3  christos OBJS += ../src/drivers/driver_common.o
   1243   1.1.1.3  christos 
   1244   1.1.1.3  christos ifdef CONFIG_WPA_CLI_EDIT
   1245   1.1.1.3  christos OBJS_c += ../src/utils/edit.o
   1246   1.1.1.3  christos else
   1247   1.1.1.3  christos OBJS_c += ../src/utils/edit_simple.o
   1248   1.1.1.3  christos endif
   1249   1.1.1.3  christos 
   1250   1.1.1.5  christos ifdef CONFIG_ACS
   1251   1.1.1.5  christos CFLAGS += -DCONFIG_ACS
   1252   1.1.1.5  christos OBJS += ../src/ap/acs.o
   1253   1.1.1.5  christos LIBS += -lm
   1254   1.1.1.5  christos endif
   1255   1.1.1.5  christos 
   1256       1.1  christos ifdef CONFIG_NO_STDOUT_DEBUG
   1257       1.1  christos CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
   1258       1.1  christos endif
   1259       1.1  christos 
   1260   1.1.1.8  christos ifdef CONFIG_DEBUG_SYSLOG
   1261   1.1.1.8  christos CFLAGS += -DCONFIG_DEBUG_SYSLOG
   1262   1.1.1.8  christos endif
   1263   1.1.1.8  christos 
   1264   1.1.1.5  christos ifdef CONFIG_DEBUG_LINUX_TRACING
   1265   1.1.1.5  christos CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
   1266   1.1.1.5  christos endif
   1267   1.1.1.5  christos 
   1268   1.1.1.3  christos ifdef CONFIG_DEBUG_FILE
   1269   1.1.1.3  christos CFLAGS += -DCONFIG_DEBUG_FILE
   1270   1.1.1.3  christos endif
   1271   1.1.1.3  christos 
   1272   1.1.1.4  christos ifdef CONFIG_SQLITE
   1273   1.1.1.4  christos CFLAGS += -DCONFIG_SQLITE
   1274   1.1.1.4  christos LIBS += -lsqlite3
   1275   1.1.1.4  christos LIBS_h += -lsqlite3
   1276   1.1.1.4  christos endif
   1277   1.1.1.4  christos 
   1278   1.1.1.7  christos ifdef CONFIG_FST
   1279   1.1.1.7  christos CFLAGS += -DCONFIG_FST
   1280   1.1.1.7  christos OBJS += ../src/fst/fst.o
   1281   1.1.1.7  christos OBJS += ../src/fst/fst_group.o
   1282   1.1.1.7  christos OBJS += ../src/fst/fst_iface.o
   1283   1.1.1.7  christos OBJS += ../src/fst/fst_session.o
   1284   1.1.1.7  christos OBJS += ../src/fst/fst_ctrl_aux.o
   1285   1.1.1.7  christos ifdef CONFIG_FST_TEST
   1286   1.1.1.7  christos CFLAGS += -DCONFIG_FST_TEST
   1287   1.1.1.7  christos endif
   1288   1.1.1.7  christos ifndef CONFIG_NO_CTRL_IFACE
   1289   1.1.1.7  christos OBJS += ../src/fst/fst_ctrl_iface.o
   1290   1.1.1.7  christos endif
   1291   1.1.1.7  christos endif
   1292   1.1.1.7  christos 
   1293  1.1.1.10  christos ifdef CONFIG_WEP
   1294  1.1.1.10  christos CFLAGS += -DCONFIG_WEP
   1295   1.1.1.6  christos endif
   1296       1.1  christos 
   1297  1.1.1.10  christos ifdef CONFIG_NO_TKIP
   1298  1.1.1.10  christos CFLAGS += -DCONFIG_NO_TKIP
   1299   1.1.1.5  christos endif
   1300       1.1  christos 
   1301   1.1.1.6  christos $(DESTDIR)$(BINDIR)/%: %
   1302   1.1.1.6  christos 	install -D $(<) $(@)
   1303   1.1.1.6  christos 
   1304   1.1.1.6  christos install: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL))
   1305       1.1  christos 
   1306  1.1.1.10  christos _OBJS_VAR := OBJS
   1307  1.1.1.10  christos include ../src/objs.mk
   1308       1.1  christos 
   1309  1.1.1.10  christos hostapd: $(OBJS)
   1310   1.1.1.3  christos 	$(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS)
   1311   1.1.1.3  christos 	@$(E) "  LD " $@
   1312       1.1  christos 
   1313       1.1  christos ifdef CONFIG_WPA_TRACE
   1314       1.1  christos OBJS_c += ../src/utils/trace.o
   1315       1.1  christos endif
   1316  1.1.1.10  christos 
   1317  1.1.1.10  christos _OBJS_VAR := OBJS_c
   1318  1.1.1.10  christos include ../src/objs.mk
   1319  1.1.1.10  christos 
   1320       1.1  christos hostapd_cli: $(OBJS_c)
   1321   1.1.1.3  christos 	$(Q)$(CC) $(LDFLAGS) -o hostapd_cli $(OBJS_c) $(LIBS_c)
   1322   1.1.1.3  christos 	@$(E) "  LD " $@
   1323       1.1  christos 
   1324   1.1.1.6  christos NOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS)
   1325   1.1.1.6  christos NOBJS += ../src/utils/common.o
   1326       1.1  christos ifdef NEED_RC4
   1327       1.1  christos ifdef CONFIG_INTERNAL_RC4
   1328   1.1.1.7  christos ifndef CONFIG_NO_RC4
   1329       1.1  christos NOBJS += ../src/crypto/rc4.o
   1330       1.1  christos endif
   1331       1.1  christos endif
   1332   1.1.1.7  christos endif
   1333       1.1  christos ifdef CONFIG_INTERNAL_MD5
   1334       1.1  christos NOBJS += ../src/crypto/md5-internal.o
   1335       1.1  christos endif
   1336   1.1.1.8  christos NOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
   1337   1.1.1.8  christos NOBJS += ../src/utils/os_$(CONFIG_OS).o
   1338       1.1  christos NOBJS += ../src/utils/wpa_debug.o
   1339       1.1  christos NOBJS += ../src/utils/wpabuf.o
   1340       1.1  christos ifdef CONFIG_WPA_TRACE
   1341       1.1  christos NOBJS += ../src/utils/trace.o
   1342       1.1  christos endif
   1343       1.1  christos 
   1344       1.1  christos HOBJS += hlr_auc_gw.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_$(CONFIG_OS).o ../src/utils/wpabuf.o ../src/crypto/milenage.o
   1345       1.1  christos HOBJS += ../src/crypto/aes-encblock.o
   1346       1.1  christos ifdef CONFIG_INTERNAL_AES
   1347       1.1  christos HOBJS += ../src/crypto/aes-internal.o
   1348       1.1  christos HOBJS += ../src/crypto/aes-internal-enc.o
   1349       1.1  christos endif
   1350   1.1.1.8  christos ifeq ($(CONFIG_TLS), linux)
   1351   1.1.1.8  christos HOBJS += ../src/crypto/crypto_linux.o
   1352   1.1.1.8  christos endif
   1353       1.1  christos 
   1354  1.1.1.10  christos SOBJS += sae_pk_gen.o
   1355  1.1.1.10  christos SOBJS +=  ../src/utils/common.o
   1356  1.1.1.10  christos SOBJS += ../src/utils/os_$(CONFIG_OS).o
   1357  1.1.1.10  christos SOBJS += ../src/utils/base64.o
   1358  1.1.1.10  christos SOBJS += ../src/utils/wpa_debug.o
   1359  1.1.1.10  christos SOBJS += ../src/utils/wpabuf.o
   1360  1.1.1.10  christos ifdef CONFIG_WPA_TRACE
   1361  1.1.1.10  christos SOBJS += ../src/utils/trace.o
   1362  1.1.1.10  christos endif
   1363  1.1.1.10  christos SOBJS += ../src/common/ieee802_11_common.o
   1364  1.1.1.10  christos SOBJS += ../src/common/sae.o
   1365  1.1.1.10  christos SOBJS += ../src/common/sae_pk.o
   1366  1.1.1.10  christos SOBJS += ../src/common/dragonfly.o
   1367  1.1.1.10  christos SOBJS += $(AESOBJS)
   1368  1.1.1.10  christos SOBJS += ../src/crypto/sha256-prf.o
   1369  1.1.1.10  christos SOBJS += ../src/crypto/sha384-prf.o
   1370  1.1.1.10  christos SOBJS += ../src/crypto/sha512-prf.o
   1371  1.1.1.10  christos SOBJS += ../src/crypto/dh_groups.o
   1372  1.1.1.10  christos SOBJS += ../src/crypto/sha256-kdf.o
   1373  1.1.1.10  christos SOBJS += ../src/crypto/sha384-kdf.o
   1374  1.1.1.10  christos SOBJS += ../src/crypto/sha512-kdf.o
   1375  1.1.1.10  christos 
   1376  1.1.1.10  christos _OBJS_VAR := NOBJS
   1377  1.1.1.10  christos include ../src/objs.mk
   1378  1.1.1.10  christos _OBJS_VAR := HOBJS
   1379  1.1.1.10  christos include ../src/objs.mk
   1380  1.1.1.10  christos _OBJS_VAR := SOBJS
   1381  1.1.1.10  christos include ../src/objs.mk
   1382  1.1.1.10  christos 
   1383       1.1  christos nt_password_hash: $(NOBJS)
   1384   1.1.1.3  christos 	$(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n)
   1385   1.1.1.3  christos 	@$(E) "  LD " $@
   1386       1.1  christos 
   1387       1.1  christos hlr_auc_gw: $(HOBJS)
   1388   1.1.1.3  christos 	$(Q)$(CC) $(LDFLAGS) -o hlr_auc_gw $(HOBJS) $(LIBS_h)
   1389   1.1.1.3  christos 	@$(E) "  LD " $@
   1390       1.1  christos 
   1391  1.1.1.10  christos sae_pk_gen: $(SOBJS)
   1392  1.1.1.10  christos 	$(Q)$(CC) $(LDFLAGS) -o sae_pk_gen $(SOBJS) $(LIBS_s)
   1393  1.1.1.10  christos 	@$(E) "  LD " $@
   1394  1.1.1.10  christos 
   1395  1.1.1.10  christos .PHONY: lcov-html
   1396   1.1.1.5  christos lcov-html:
   1397  1.1.1.10  christos 	lcov -c -d $(BUILDDIR) > lcov.info
   1398   1.1.1.5  christos 	genhtml lcov.info --output-directory lcov-html
   1399   1.1.1.5  christos 
   1400  1.1.1.10  christos clean: common-clean
   1401  1.1.1.10  christos 	rm -f core *~ nt_password_hash hlr_auc_gw
   1402  1.1.1.10  christos 	rm -f sae_pk_gen
   1403   1.1.1.5  christos 	rm -f lcov.info
   1404   1.1.1.5  christos 	rm -rf lcov-html
   1405