prefix := $(shell rtai-config --prefix)

ifeq ($(prefix),)
$(error Please add <rtai-install>/bin to your PATH variable)
endif

CC = $(shell rtai-config --cc)

LXRT_CFLAGS = $(shell rtai-config --lxrt-cflags)

all:: freqresp_app

ifneq ($(findstring 2.6.,$(shell rtai-config --linux-version 2>/dev/null)),)

LINUX_DIR = $(shell rtai-config --linux-dir)

all:: freqresp_module_rt.ko

freqresp_module_rt.ko: _freqresp_module_rt.ko
	$(LD) -r -static -o $@ $< -L/usr/lib -lm

_freqresp_module_rt.ko:
	@if test -e $(LINUX_DIR)/Module.symvers; then mv -f $(LINUX_DIR)/Module.symvers $(LINUX_DIR)/__Module.symvers; fi; if test -e $(LINUX_DIR)/vmlinux; then mv -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/__vmlinux; fi; \
	$(MAKE) -C $(LINUX_DIR) CC=$(CC) SUBDIRS=$$PWD V=$(V) modules \
	&& if test -e $(LINUX_DIR)/__Module.symvers; then mv -f $(LINUX_DIR)/__Module.symvers $(LINUX_DIR)/Module.symvers; fi && if test -e $(LINUX_DIR)/__vmlinux; then mv -f $(LINUX_DIR)/__vmlinux $(LINUX_DIR)/vmlinux; fi

#	$(MAKE) -C $(LINUX_DIR) CC=$(CC) SUBDIRS=$$PWD V=$(V) modules

clean::
	$(RM) $(LINUX_DIR)/.tmp_versions/*_rt.mod *.o *.ko *.mod.c .*.cmd

else

MODULE_CFLAGS = $(shell rtai-config --module-cflags)

all:: freqresp_module_rt.o

freqresp_module_rt.o: freqresp_module.c
	$(CC) $(MODULE_CFLAGS) -c $< -o _$@
	$(LD) -r -static -o $@ _$@ -L/usr/lib -lm

clean::
	$(RM) *.o

endif

freqresp_app: freqresp_app.c freqresp.h
	$(CC) $(LXRT_CFLAGS) -o $@ $< -lpthread -lm -lrealfft -lfft

clean::
	$(RM) freqresp_app

.PHONY: clean
