###### CONFIGURATION ###### ### List of applications to be build APPLICATIONS = ### Note: to override the search path for the xeno-config script, use "make XENO=..." ### List of modules to be build MODULES = heartbeat-x86 ### Default to sources of currently running kernel KSRC ?= /lib/modules/$(shell uname -r)/build ### Note: to override the kernel source path, use "make KSRC=..." ###### USER SPACE BUILD (no change required normally) ###### ifneq ($(APPLICATIONS),) XENOCONFIG=$(shell PATH=$(XENO):$(XENO)/bin:$(PATH) which xeno-config 2>/dev/null) ### Sanity check ifeq ($(XENOCONFIG),) all:: @echo ">>> Invoke make like this: \"make XENO=/path/to/xeno-config\" <<<" @echo endif CC=$(shell $(XENOCONFIG) --cc) CFLAGS=$(shell $(XENOCONFIG) --xeno-cflags) $(MY_CFLAGS) LDFLAGS=$(shell $(XENOCONFIG) --xeno-ldflags) $(MY_LDFLAGS) -lnative -lrtdm all:: $(APPLICATIONS) clean:: $(RM) $(APPLICATIONS) *.o endif ###### KERNEL MODULE BUILD (no change required normally) ###### ifneq ($(MODULES),) OBJS := ${patsubst %, %.o, $(MODULES)} CLEANMOD := ${patsubst %, .%*, $(MODULES)} PWD := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi) ### Kernel 2.6 ifeq ($(findstring 2.6,$(KSRC)),2.6) obj-m := $(OBJS) EXTRA_CFLAGS := -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/posix $(ADD_CFLAGS) all:: $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules ### Kernel 2.4 else ARCH ?= $(shell uname -i) INCLUDE := -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/compat -I$(KSRC)/include/xenomai/posix CFLAGS += $(shell $(MAKE) -s -C $(KSRC) CC=$(CC) ARCH=$(ARCH) SUBDIRS=$(PWD) modules) $(INCLUDE) $(ADD_CFLAGS) all:: $(OBJS) endif clean:: $(RM) $(CLEANMOD) *.cmd *.o *.ko *.mod.c Module*.symvers $(RM) -R .tmp* endif ## Target for capturing 2.4 module CFLAGS modules: @echo "$(CFLAGS)"