## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

def build(bld):
    obj = bld.create_ns3_module('wifi', ['node'])
    obj.source = [
        'propagation-delay-model.cc',
        'propagation-loss-model.cc',
        'propagation-loss-model-test-suite.cc',
        'jakes-propagation-loss-model.cc',
        'wifi-channel.cc',
        'wifi-mode.cc',
        'ssid.cc',
        'wifi-phy.cc',
        'wifi-phy-state-helper.cc',
        'error-rate-model.cc',
        'yans-error-rate-model.cc',
        'interference-helper.cc',
        'interference-helper-tx-duration-test.cc',
        'yans-wifi-phy.cc',
        'yans-wifi-channel.cc',
        'wifi-mac-header.cc',
        'wifi-mac-trailer.cc',
        'mac-low.cc',
        'wifi-mac-queue.cc',
        'mac-tx-middle.cc',
        'mac-rx-middle.cc',
        'dca-txop.cc',
        'supported-rates.cc',
        'capability-information.cc',
        'status-code.cc',
        'mgt-headers.cc',
        'random-stream.cc',
        'dcf-manager.cc',
        'dcf-manager-test.cc',
        'wifi-mac.cc',
        'wifi-remote-station-manager.cc',
        'adhoc-wifi-mac.cc',
        'nqap-wifi-mac.cc',
        'nqsta-wifi-mac.cc',
        'wifi-net-device.cc',
        'arf-wifi-manager.cc',
        'aarf-wifi-manager.cc',
        'ideal-wifi-manager.cc',
        'amrr-wifi-manager.cc',
        'onoe-wifi-manager.cc',
        'rraa-wifi-manager.cc',
        'aarfcd-wifi-manager.cc',
        'cara-wifi-manager.cc',
        'constant-rate-wifi-manager.cc',
        'wifi-test.cc',
        'qos-tag.cc',
        'qos-utils.cc',
        'qadhoc-wifi-mac.cc',
        'qap-wifi-mac.cc',
        'qsta-wifi-mac.cc',
        'edca-txop-n.cc',
        'msdu-aggregator.cc',
        'amsdu-subframe-header.cc',
        'msdu-standard-aggregator.cc',
        'minstrel-wifi-manager.cc',
        'dcf.cc',
        ]
    headers = bld.new_task_gen('ns3header')
    headers.module = 'wifi'
    headers.source = [
        'propagation-delay-model.h',
        'propagation-loss-model.h',
        'jakes-propagation-loss-model.h',
        'wifi-net-device.h',
        'wifi-channel.h',
        'wifi-mode.h',
        'ssid.h',
        'wifi-preamble.h',
	'wifi-phy-standard.h',
        'yans-wifi-phy.h',
        'yans-wifi-channel.h',
        'wifi-phy.h',
        'interference-helper.h',
        'wifi-remote-station-manager.h',
        'arf-wifi-manager.h',
        'aarf-wifi-manager.h',
        'constant-rate-wifi-manager.h',
        'ideal-wifi-manager.h',
        'amrr-wifi-manager.h',
        'onoe-wifi-manager.h',
        'rraa-wifi-manager.h',
        'wifi-mac.h',
        'adhoc-wifi-mac.h',
        'nqsta-wifi-mac.h',
        'nqap-wifi-mac.h',
        'wifi-phy.h',
        'supported-rates.h',
        'error-rate-model.h',
        'yans-error-rate-model.h',
        'dca-txop.h',
        'wifi-mac-header.h',
        'qadhoc-wifi-mac.h',
        'qap-wifi-mac.h',
        'qsta-wifi-mac.h',
        'qos-utils.h',
        'edca-txop-n.h',
        'msdu-aggregator.h',
        'amsdu-subframe-header.h',
        'qos-tag.h',
        'mgt-headers.h',
        'status-code.h',
        'capability-information.h',
        'dcf-manager.h',
        'mac-rx-middle.h', 
        'mac-low.h',
        'minstrel-wifi-manager.h',
        'dcf.h',
        ]

    if bld.env['ENABLE_GSL']:
        obj.uselib = 'GSL GSLCBLAS M'

    obj = bld.create_ns3_program('wifi-phy-test',
        ['core', 'simulator', 'mobility', 'node', 'wifi'])
    obj.source = 'wifi-phy-test.cc'


