@@ -279,37 +279,25 @@ $(sort $(CUSEROBJS)) : objects/%.o: %.c
279279 -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
280280 $< -o $@
281281
282- # Ruckig files need C++20
283- RUCKIG_CXX_FILES := $(filter emc/tp/ruckig% ,$(CXXUSERSRCS ) )
284- NON_RUCKIG_CXX_FILES := $(filter-out emc/tp/ruckig% ,$(CXXUSERSRCS ) )
285-
286- $(sort $(patsubst % .cpp,objects/% .o,$(filter % .cpp,$(RUCKIG_CXX_FILES ) ) ) ) : objects/% .o: % .cpp
282+ # Cruckig (pure C) source files — compiled as C, no C++ needed
283+ # Headers are local ("" includes relative to cruckig/), no -I needed
284+ objects/emc/tp/cruckig/% .o : emc/tp/cruckig/% .c
287285 $(ECHO ) Compiling $<
288286 @mkdir -p $(dir $@ )
289287 @rm -f $@
290- $(Q )$(CXX ) -c $(CXXFLAGS ) $(EXTRAFLAGS ) -std=c++20 \
291- -I$(BASEPWD ) /emc/tp/ruckig/include \
292- -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
293- $< -o $@
294-
295- $(sort $(patsubst % .cc,objects/% .o,$(filter % .cc,$(RUCKIG_CXX_FILES ) ) ) ) : objects/% .o: % .cc
296- $(ECHO ) Compiling $<
297- @mkdir -p $(dir $@ )
298- @rm -f $@
299- $(Q )$(CXX ) -c $(CXXFLAGS ) $(EXTRAFLAGS ) -std=c++20 \
300- -I$(BASEPWD ) /emc/tp/ruckig/include \
288+ $(Q )$(CC ) -c $(CFLAGS ) $(EXTRAFLAGS ) \
301289 -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
302290 $< -o $@
303291
304- $(sort $(patsubst % .cpp,objects/% .o,$(filter % .cpp,$(NON_RUCKIG_CXX_FILES ) ) ) ) : objects/% .o: % .cpp
292+ $(sort $(patsubst % .cpp,objects/% .o,$(filter % .cpp,$(CXXUSERSRCS ) ) ) ) : objects/% .o: % .cpp
305293 $(ECHO ) Compiling $<
306294 @mkdir -p $(dir $@ )
307295 @rm -f $@
308296 $(Q )$(CXX ) -c $(CXXFLAGS ) $(EXTRAFLAGS ) \
309297 -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
310298 $< -o $@
311299
312- $(sort $(patsubst % .cc,objects/% .o,$(filter % .cc,$(NON_RUCKIG_CXX_FILES ) ) ) ) : objects/% .o: % .cc
300+ $(sort $(patsubst % .cc,objects/% .o,$(filter % .cc,$(CXXUSERSRCS ) ) ) ) : objects/% .o: % .cc
313301 $(ECHO ) Compiling $<
314302 @mkdir -p $(dir $@ )
315303 @rm -f $@
@@ -1198,17 +1186,25 @@ motmod-objs += emc/motion/stashf.o
11981186motmod-objs += emc/motion/dbuf.o
11991187motmod-objs += emc/tp/sp_scurve.o
12001188motmod-objs += emc/tp/ruckig_wrapper.o
1201- motmod-objs += emc/tp/ruckig/src/ruckig/brake.o
1202- motmod-objs += emc/tp/ruckig/src/ruckig/position_first_step1.o
1203- motmod-objs += emc/tp/ruckig/src/ruckig/position_first_step2.o
1204- motmod-objs += emc/tp/ruckig/src/ruckig/position_second_step1.o
1205- motmod-objs += emc/tp/ruckig/src/ruckig/position_second_step2.o
1206- motmod-objs += emc/tp/ruckig/src/ruckig/position_third_step1.o
1207- motmod-objs += emc/tp/ruckig/src/ruckig/position_third_step2.o
1208- motmod-objs += emc/tp/ruckig/src/ruckig/velocity_second_step1.o
1209- motmod-objs += emc/tp/ruckig/src/ruckig/velocity_second_step2.o
1210- motmod-objs += emc/tp/ruckig/src/ruckig/velocity_third_step1.o
1211- motmod-objs += emc/tp/ruckig/src/ruckig/velocity_third_step2.o
1189+ motmod-objs += emc/tp/cruckig/block.o
1190+ motmod-objs += emc/tp/cruckig/brake.o
1191+ motmod-objs += emc/tp/cruckig/calculator.o
1192+ motmod-objs += emc/tp/cruckig/cruckig.o
1193+ motmod-objs += emc/tp/cruckig/input_parameter.o
1194+ motmod-objs += emc/tp/cruckig/output_parameter.o
1195+ motmod-objs += emc/tp/cruckig/profile.o
1196+ motmod-objs += emc/tp/cruckig/roots.o
1197+ motmod-objs += emc/tp/cruckig/trajectory.o
1198+ motmod-objs += emc/tp/cruckig/position_first_step1.o
1199+ motmod-objs += emc/tp/cruckig/position_first_step2.o
1200+ motmod-objs += emc/tp/cruckig/position_second_step1.o
1201+ motmod-objs += emc/tp/cruckig/position_second_step2.o
1202+ motmod-objs += emc/tp/cruckig/position_third_step1.o
1203+ motmod-objs += emc/tp/cruckig/position_third_step2.o
1204+ motmod-objs += emc/tp/cruckig/velocity_second_step1.o
1205+ motmod-objs += emc/tp/cruckig/velocity_second_step2.o
1206+ motmod-objs += emc/tp/cruckig/velocity_third_step1.o
1207+ motmod-objs += emc/tp/cruckig/velocity_third_step2.o
12121208
12131209obj-m += homemod.o
12141210homemod-objs := emc/motion/homemod.o
@@ -1225,17 +1221,25 @@ tpmod-objs += emc/nml_intf/emcpose.o
12251221tpmod-objs += libnml/posemath/_posemath.o
12261222tpmod-objs += emc/tp/sp_scurve.o
12271223tpmod-objs += emc/tp/ruckig_wrapper.o
1228- tpmod-objs += emc/tp/ruckig/src/ruckig/brake.o
1229- tpmod-objs += emc/tp/ruckig/src/ruckig/position_first_step1.o
1230- tpmod-objs += emc/tp/ruckig/src/ruckig/position_first_step2.o
1231- tpmod-objs += emc/tp/ruckig/src/ruckig/position_second_step1.o
1232- tpmod-objs += emc/tp/ruckig/src/ruckig/position_second_step2.o
1233- tpmod-objs += emc/tp/ruckig/src/ruckig/position_third_step1.o
1234- tpmod-objs += emc/tp/ruckig/src/ruckig/position_third_step2.o
1235- tpmod-objs += emc/tp/ruckig/src/ruckig/velocity_second_step1.o
1236- tpmod-objs += emc/tp/ruckig/src/ruckig/velocity_second_step2.o
1237- tpmod-objs += emc/tp/ruckig/src/ruckig/velocity_third_step1.o
1238- tpmod-objs += emc/tp/ruckig/src/ruckig/velocity_third_step2.o
1224+ tpmod-objs += emc/tp/cruckig/block.o
1225+ tpmod-objs += emc/tp/cruckig/brake.o
1226+ tpmod-objs += emc/tp/cruckig/calculator.o
1227+ tpmod-objs += emc/tp/cruckig/cruckig.o
1228+ tpmod-objs += emc/tp/cruckig/input_parameter.o
1229+ tpmod-objs += emc/tp/cruckig/output_parameter.o
1230+ tpmod-objs += emc/tp/cruckig/profile.o
1231+ tpmod-objs += emc/tp/cruckig/roots.o
1232+ tpmod-objs += emc/tp/cruckig/trajectory.o
1233+ tpmod-objs += emc/tp/cruckig/position_first_step1.o
1234+ tpmod-objs += emc/tp/cruckig/position_first_step2.o
1235+ tpmod-objs += emc/tp/cruckig/position_second_step1.o
1236+ tpmod-objs += emc/tp/cruckig/position_second_step2.o
1237+ tpmod-objs += emc/tp/cruckig/position_third_step1.o
1238+ tpmod-objs += emc/tp/cruckig/position_third_step2.o
1239+ tpmod-objs += emc/tp/cruckig/velocity_second_step1.o
1240+ tpmod-objs += emc/tp/cruckig/velocity_second_step2.o
1241+ tpmod-objs += emc/tp/cruckig/velocity_third_step1.o
1242+ tpmod-objs += emc/tp/cruckig/velocity_third_step2.o
12391243tpmod-objs += libnml/posemath/sincos.o $(MATHSTUB )
12401244
12411245TORTOBJS = $(foreach file,$($(patsubst % .o,% ,$(1 ) ) -objs) , objects/rt$(file ) )
@@ -1257,7 +1261,7 @@ modules: $(patsubst %.o,../rtlib/%.so,$(obj-m))
12571261RTFLAGS += -fno-strict-aliasing -fwrapv
12581262
12591263# Rules to make .o (object) files for C files
1260- $(sort $(filter-out objects/rtemc/tp/ruckig_wrapper.o objects/rtemc/tp/ruckig/src/ruckig /% ,$(RTOBJS ) ) ) : objects/rt% .o : % .c
1264+ $(sort $(filter-out objects/rtemc/tp/cruckig /% ,$(RTOBJS ) ) ) : objects/rt% .o : % .c
12611265 $(ECHO ) Compiling realtime $<
12621266 @rm -f $@
12631267 @mkdir -p $(dir $@ )
@@ -1266,30 +1270,13 @@ $(sort $(filter-out objects/rtemc/tp/ruckig_wrapper.o objects/rtemc/tp/ruckig/sr
12661270 -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
12671271 $< -o $@
12681272
1269- # C++ flags for Ruckig: drop C-only -Wno-declaration-after-statement, and suppress
1270- # false-positive -Warray-bounds and -Wunused-parameter in Ruckig library
1271- RUCKIG_CXXFLAGS := $(filter-out -Wno-declaration-after-statement,$(EXTRA_CFLAGS ) ) \
1272- -Wno-array-bounds -Wno-unused-parameter
1273-
1274- # Rules for C++ .cc files in realtime modules
1275- objects/rtemc/tp/ruckig_wrapper.o : emc/tp/ruckig_wrapper.cc
1273+ # Rules for cruckig C files in realtime modules
1274+ objects/rtemc/tp/cruckig/% .o : emc/tp/cruckig/% .c
12761275 $(ECHO ) Compiling realtime $<
12771276 @rm -f $@
12781277 @mkdir -p $(dir $@ )
1279- $(Q )$(CXX ) -c $(OPT ) $(DEBUG ) $(EXTRA_DEBUG ) -DRTAPI -std=c++20 \
1280- -I$(BASEPWD ) /emc/tp/ruckig/include \
1281- $(RUCKIG_CXXFLAGS ) \
1282- -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
1283- $< -o $@
1284-
1285- # Rules for C++ .cpp files in realtime modules
1286- objects/rtemc/tp/ruckig/src/ruckig/% .o : emc/tp/ruckig/src/ruckig/% .cpp
1287- $(ECHO ) Compiling realtime $<
1288- @rm -f $@
1289- @mkdir -p $(dir $@ )
1290- $(Q )$(CXX ) -c $(OPT ) $(DEBUG ) $(EXTRA_DEBUG ) -DRTAPI -std=c++20 \
1291- -I$(BASEPWD ) /emc/tp/ruckig/include \
1292- $(RUCKIG_CXXFLAGS ) \
1278+ $(Q )$(CC ) -c $(OPT ) $(DEBUG ) $(EXTRA_DEBUG ) -DRTAPI \
1279+ $(EXTRA_CFLAGS ) \
12931280 -MP -MD -MF " ${@: .o=.d} " -MT " $@ " \
12941281 $< -o $@
12951282endif
0 commit comments