diff --git a/kernel_module/user/Makefile b/kernel_module/user/Makefile index b20328e..8ff2d59 100644 --- a/kernel_module/user/Makefile +++ b/kernel_module/user/Makefile @@ -1,11 +1,12 @@ .PHONY: all clean CFLAGS_EXTRA ?= -fopenmp -std=c99 -Wall -Werror -Wextra -IN_EXT ?= .c +IN_EXT_C ?= .c +IN_EXT_CXX ?= .cpp LIBS := OUT_EXT ?= .out -OUTS := $(addsuffix $(OUT_EXT), $(basename $(wildcard *$(IN_EXT)))) +OUTS := $(foreach IN_EXT,$(IN_EXT_C) $(IN_EXT_CXX),$(addsuffix $(OUT_EXT), $(basename $(wildcard *$(IN_EXT))))) ifeq ($(BR2_PACKAGE_OPENBLAS),y) LIBS += -lopenblas else @@ -14,8 +15,11 @@ endif all: $(OUTS) -%$(OUT_EXT): %$(IN_EXT) +%$(OUT_EXT): %$(IN_EXT_C) $(CC) $(CFLAGS) $(CFLAGS_EXTRA) -o '$@' '$<' $(LIBS) +%$(OUT_EXT): %$(IN_EXT_CXX) + $(CXX) $(CXXFLAGS) $(CXXFLAGS_EXTRA) -o '$@' '$<' $(LIBS) + clean: rm -f *'$(OUT_EXT)' diff --git a/kernel_module/user/README.adoc b/kernel_module/user/README.adoc index ce20135..c4f89c5 100644 --- a/kernel_module/user/README.adoc +++ b/kernel_module/user/README.adoc @@ -10,6 +10,7 @@ These programs can also be compiled and used on host. . Standalone .. link:hello.c[] +.. link:hello_cpp.cpp[] .. link:myinsmod.c[] .. link:myrmmod.c[] .. link:sched_getaffinity.c[] diff --git a/kernel_module/user/hello_cpp.cpp b/kernel_module/user/hello_cpp.cpp new file mode 100644 index 0000000..52e3b2e --- /dev/null +++ b/kernel_module/user/hello_cpp.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + std::cout << "hello world" << std::endl; +}