new file mode 100644
@@ -0,0 +1,149 @@
+# SPDX-License-Identifier: MIT
+obj-$(CONFIG_CL8K) += cl8k.o
+
+# Stop these C90 warnings. We use C99.
+ccflags-y += -Wno-declaration-after-statement -g -Werror
+
+IFACE_PREFIX=wlan
+
+ccflags-y += -D__CHECK_ENDIAN__ -DDEBUG -DCL_IFACE_PREFIX=\"$(IFACE_PREFIX)\"
+cl-objs += \
+ wrs/wrs.o \
+ wrs/wrs_api.o \
+ wrs/wrs_cli.o \
+ wrs/wrs_tables.o \
+ wrs/wrs_rssi.o \
+ wrs/wrs_sta.o \
+ wrs/wrs_ap.o \
+ wrs/wrs_stats.o \
+ phy/phy_common_lut.o\
+ phy/phy_olympus_lut.o\
+ phy/phy_athos_lut.o\
+ reg/reg_cli.o \
+ key.o \
+ sta.o \
+ hw.o \
+ chip.o \
+ fw/msg_tx.o \
+ fw/fw_msg.o \
+ utils/utils.o \
+ channel.o \
+ utils/string.o \
+ rx/rx.o \
+ rx/rx_amsdu.o \
+ tx/tx.o \
+ tx/tx_amsdu.o \
+ vendor_cmd.o \
+ main.o \
+ mac_addr.o \
+ ops.o \
+ ampdu.o \
+ dfs/dfs.o \
+ tx/tx_inject.o \
+ enhanced_tim.o \
+ e2p.o \
+ chan_info.o \
+ edca.o \
+ calib.o \
+ utils/timer.o \
+ tx/agg_cfm.o \
+ tx/single_cfm.o \
+ tx/bcmc_cfm.o \
+ tx/tx_queue.o \
+ stats.o \
+ cca.o \
+ noise.o \
+ tx/baw.o \
+ power.o \
+ power_cli.o \
+ power_table.o \
+ motion_sense.o \
+ dfs/radar.o \
+ bf.o \
+ sounding.o \
+ dbgfile.o \
+ temperature.o \
+ recovery.o \
+ phy/phy.o \
+ prot_mode.o \
+ rate_ctrl.o \
+ radio.o \
+ config.o \
+ tcv_config.o \
+ chip_config.o \
+ rsrc_mgmt.o \
+ traffic.o \
+ rssi.o \
+ fw/fw_file.o \
+ utils/file.o \
+ rx/rx_filter.o \
+ vns.o \
+ env_det.o \
+ maintenance.o \
+ ela.o \
+ fw/fw_dbg.o \
+ ext/dyn_mcast_rate.o \
+ ext/dyn_bcast_rate.o \
+ vif.o \
+ mib.o \
+ band.o \
+ tx/agg_tx_report.o \
+ hw_assert.o \
+ dsp.o \
+ rf_boot.o \
+ ate.o \
+ afe.o \
+ tx/sw_txhdr.o \
+ fem.o \
+ chandef.o \
+ version.o \
+ cap.o \
+ agc_params.o \
+ utils/ip.o \
+ ext/vlan_dscp.o \
+ netlink.o \
+ twt_frame.o \
+ twt.o \
+ twt_cli.o \
+ cecli.o \
+ mac80211.o \
+ omi.o \
+ data_rates.o \
+ rx/rx_reorder.o
+
+ccflags-y += -I$(src) -I$(srctree)/net/wireless -I$(srctree)/net/mac80211/
+
+ifdef CONFIG_DEBUG_FS
+ CONFIG_CL_DEBUGFS=y
+endif
+
+ifdef CONFIG_CL_DEBUGFS
+ ccflags-y += -DCONFIG_CL_DEBUGFS
+ cl-objs += coredump.o
+ cl-objs += debugfs.o
+endif
+
+ifeq ($(CONFIG_CL8K_TRACE),y)
+# Without this flag, the trace.h will be searched for in include/trace/events,
+# which is not what we desire.
+ CFLAGS_trace.o := -I$(src) -Wno-unused-variable -Wno-uninitialized
+ cl-objs += trace.o
+ ccflags-y += -DTRACE_SUPPORT
+endif
+
+ifeq ($(CONFIG_CL8K_PCI),y)
+ccflags-y += -DCONFIG_CL_PCIE
+cl-objs += \
+ bus/pci/pci.o \
+ bus/pci/rx_pci.o \
+ bus/pci/tx_pci.o \
+ bus/pci/msg_pci.o \
+ fw/msg_cfm.o \
+ fw/msg_rx.o \
+ bus/pci/ipc.o \
+ bus/pci/irq.o
+endif
+
+ifneq ($(CONFIG_CL8K),)
+cl8k-y += $(cl-objs)
+endif