
* Move the project top-level CMakeLists.txt to the root of the project; this allows building Cyclone as part of ROS2 without any special tricks; * Clean up the build options: ENABLE_SSL: whether to check for and include OpenSSL support if a library can be found (default = ON); this used to be called DDSC_ENABLE_OPENSSL, the old name is deprecated but still works BUILD_DOCS: whether to build docs (default = OFF) BUILD_TESTING: whether to build test (default = OFF) * Collect all documentation into top-level "docs" directory; * Move the examples to the top-level directory; * Remove the unused and somewhat misleading pseudo-default cyclonedds.xml; * Remove unused cmake files Signed-off-by: Erik Boasson <eb@ilities.com>
54 lines
1.7 KiB
Makefile
54 lines
1.7 KiB
Makefile
publisher_NAME := HelloworldPublisher
|
|
publisher_SRCS := publisher.c generated/HelloWorldData.c
|
|
publisher_OBJS := ${publisher_SRCS:.c=.o}
|
|
|
|
subscriber_NAME := HelloworldSubscriber
|
|
subscriber_SRCS := subscriber.c generated/HelloWorldData.c
|
|
subscriber_OBJS := ${subscriber_SRCS:.c=.o}
|
|
|
|
# Make sure that the location where dds.h is installed is known to the
|
|
# compiler. If dds.h is not installed in a system default spot, then
|
|
# it can be introduced by adding it to the CFLAGS, like:
|
|
#CFLAGS += -I../../../../include
|
|
|
|
# Make sure that the location where libddsc.so is installed is known
|
|
# to the compiler. If the lib is not installed in a system default
|
|
# location, then it can be introduced by adding it to the LDFLAGS:
|
|
#LDFLAGS += -L../../../../lib
|
|
|
|
CFLAGS += -Igenerated
|
|
LDFLAGS += -lddsc
|
|
|
|
.PHONY: all clean distclean
|
|
|
|
all: $(publisher_NAME) $(subscriber_NAME)
|
|
|
|
$(publisher_NAME): $(publisher_OBJS)
|
|
gcc $(CFLAGS) $(publisher_OBJS) $(LDFLAGS) -o $(publisher_NAME)
|
|
|
|
$(subscriber_NAME): $(subscriber_OBJS)
|
|
gcc $(CFLAGS) $(subscriber_OBJS) $(LDFLAGS) -o $(subscriber_NAME)
|
|
|
|
clean:
|
|
@- $(RM) $(publisher_NAME)
|
|
@- $(RM) $(publisher_OBJS)
|
|
@- $(RM) $(subscriber_NAME)
|
|
@- $(RM) $(subscriber_OBJS)
|
|
|
|
distclean: clean
|
|
|
|
|
|
|
|
# Make sure that the idlc jar file is available and java can find its
|
|
# location. In this example, it is assumed that the jar is located at
|
|
# a specific relative directory. Change the classpath variable if
|
|
# this is not the case on your system.
|
|
classpath:= ../../idlc/idlc-jar-with-dependencies.jar
|
|
ifneq ($(CLASSPATH),)
|
|
classpath:= $(CLASSPATH):$(classpath)
|
|
endif
|
|
export CLASSPATH:=$(classpath)
|
|
|
|
datatype:
|
|
java org.eclipse.cyclonedds.compilers.Idlc HelloWorldData.idl
|
|
|