KERNELSRC = /lib/modules/$(shell uname -r)/build
KSRC = $(shell readlink -f $(KERNELSRC))

ifeq ($(FIRMWARE_DIR),)
FIRMWARE_DIR := $(shell ./checkfwdir)
endif

ifeq ($(FIRMWARE_DIR),)
system_check:
	@echo "Your hotplug appears to be outdated or installed improperly."
	@echo "Please reinstall hotplug before continuing."
	@false
endif

FIRMWARE_DIR_ESCAPED = $(subst /,\\/,$(FIRMWARE_DIR))

all:
	@echo
	@echo '*****' Using kernel source in $(KSRC) '*****'
	@echo
	$(MAKE) modules -C $(KSRC) M=$(shell pwd)/kernel
	sed s/@FIRMWARE_DIR@/$(FIRMWARE_DIR_ESCAPED)/ \
		<hotplug/wis-ezusb.in >hotplug/wis-ezusb
	$(MAKE) -C apps CFLAGS="-I$(KSRC)/include -I../include"

install:
	$(MAKE) modules_install INSTALL_MOD_PATH=$(DESTDIR) \
		-C $(KSRC) M=$(shell pwd)/kernel
ifeq ($(SKIP_DEPMOD),)
	/sbin/depmod -a
endif
	@echo
	@echo "Installing include files into $(KSRC)/include/linux"
	@echo
	install -m 0644 include/*.h $(DESTDIR)$(KSRC)/include/linux
	@echo
	@echo "Installing firmware files into $(FIRMWARE_DIR)"
	@echo
	[ -d $(DESTDIR)$(FIRMWARE_DIR) ] || \
		install -d $(DESTDIR)$(FIRMWARE_DIR)
	[ -d $(DESTDIR)$(FIRMWARE_DIR)/ezusb ] || \
		install -d $(DESTDIR)$(FIRMWARE_DIR)/ezusb
	rm -f $(DESTDIR)$(FIRMWARE_DIR)/PX-402U.bin
	install -m 0644 firmware/*.bin $(DESTDIR)$(FIRMWARE_DIR)
	install -m 0644 firmware/ezusb/*.hex $(DESTDIR)$(FIRMWARE_DIR)/ezusb
	install -m0755 hotplug/wis-ezusb $(DESTDIR)/etc/hotplug/usb
	install -m0644 hotplug/wis.usermap-ezusb \
		$(DESTDIR)/etc/hotplug/usb/wis.usermap
	$(MAKE) install -C apps DESTDIR=$(DESTDIR)

clean:
	$(MAKE) clean -C $(KSRC) M=$(shell pwd)/kernel
	rm -f hotplug/wis-ezusb
	$(MAKE) clean -C apps
