From 5ad53da25bdb5633e39ae1b9b8bfa9e5acb10674 Mon Sep 17 00:00:00 2001 From: abausano Date: Wed, 28 Jun 2023 22:09:08 +0200 Subject: [PATCH] Fixed building error --- src/realtime.mk | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/src/realtime.mk b/src/realtime.mk index 852ea71..a5a3beb 100644 --- a/src/realtime.mk +++ b/src/realtime.mk @@ -1,24 +1,48 @@ include ../config.mk include Kbuild -include $(MODINC) +cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ + > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) + +.PHONY: all clean install ifeq ($(BUILDSYS),kbuild) -# dirty workaround to get the RTAI directory -RTAIINCDIR = $(subst /rtai.h,,$(firstword $(wildcard $(foreach i,$(subst -I,,$(filter -I%,$(RTFLAGS))), $(i)/rtai.h)))) -ifneq ($(RTAIINCDIR),) - RTAIDIR = $(realpath $(RTAIINCDIR)/..) +module = $(patsubst %.o,%.ko,$(obj-m)) + +ifeq (,$(findstring -Wframe-larger-than=,$(EXTRA_CFLAGS))) + EXTRA_CFLAGS += $(call cc-option,-Wframe-larger-than=2560) endif -all: +$(module): $(MAKE) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(RTLIBDIR)/Module.symvers $(RTAIDIR)/modules/ethercat/Module.symvers" -C $(KERNELDIR) SUBDIRS=`pwd` CC=$(CC) V=0 modules +clean:: + rm -f $(obj-m) + rm -f *.mod.c .*.cmd + rm -f modules.order Module.symvers + rm -rf .tmp_versions + else -LDFLAGS += -Wl,-rpath,$(LIBDIR) -L$(LIBDIR) -llinuxcnchal -lethercat +module = $(patsubst %.o,%.so,$(obj-m)) -all: modules +EXTRA_CFLAGS := $(filter-out -Wframe-larger-than=%,$(EXTRA_CFLAGS)) + +$(module): $(lcec-objs) + $(CC) -shared -o $@ $(lcec-objs) -Wl,-rpath,$(LIBDIR) -L$(LIBDIR) -llinuxcnchal -lethercat -lrt + +%.o: %.c + $(CC) -o $@ $(EXTRA_CFLAGS) -Os -c $< endif +all: $(module) + +clean:: + rm -f $(module) + rm -f $(lcec-objs) + +install: $(module) + mkdir -p $(DESTDIR)$(RTLIBDIR) + cp $(module) $(DESTDIR)$(RTLIBDIR)/