-Isdk/include/eurotrucks2
CFLAGS=-Wall -Wextra -std=c99 -O2 -DDEBUG -I.
-CPPFLAGS=-Wall -O2 -DLOGGING -I.
+CXXFLAGS=-Wall -O2 -DLOGGING -I.
UNAME:= $(shell uname -s)
LIB_NAME_OPTION=-soname
endif
+COMMON_HDR := telemetry.h
PLUGIN_SRC := teleshmem.cpp shmget.c
+HTTPD_OBJ := telehttpd.o shmget.o net.o fserv.o
+LOGGER_OBJ := telelogger.o shmget.o
.PHONY: all clean
all: telehttpd telelogger teleshmem.so
-teleshmem.so: $(PLUGIN_SRC) $(SDK_HEADERS)
- g++ -o $@ $(CPPFLAGS) -fPIC --shared -Wl,$(LIB_NAME_OPTION),$@ $(SDK_INCLUDES) $(PLUGIN_SRC)
+teleshmem.so: $(PLUGIN_SRC) $(COMMON_HDR) $(SDK_HEADERS) $(SELF)
+ $(CXX) -o $@ $(CXXFLAGS) -fPIC --shared -Wl,$(LIB_NAME_OPTION),$@ $(SDK_INCLUDES) $(PLUGIN_SRC)
-telehttpd: telehttpd.o shmget.o net.o fserv.o
- $(CC) $(LDFLAGS) -o $@ -pthread $^
+telehttpd: $(HTTPD_OBJ) $(COMMON_HDR) $(SELF)
+ $(CC) $(LDFLAGS) -o $@ -pthread $(HTTPD_OBJ)
-telelogger: telelogger.o shmget.o
- $(CC) $(LDFLAGS) -o $@ $^
+telelogger: $(LOGGER_OBJ) $(COMMON_HDR) $(SELF)
+ $(CC) $(LDFLAGS) -o $@ $(LOGGER_OBJ)
%.o: %.c $(SELF)
$(CC) -c $(CFLAGS) -o $*.o $*.c
#ifndef LOG_H_
#define LOG_H_
-#ifdef DEBUG
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h>
+
+#if defined DEBUG && !defined __cplusplus
#define EPRINT(fmt, ...) do { fprintf( stderr, "%s:%s:%d:"fmt, __FILE__, __FUNCTION__, __LINE__ , ##__VA_ARGS__ ); } while (0)
#define DPRINT(...) EPRINT(__VA_ARGS__)
- #define WHOAMI DPRINT("\n");
+ #define WHOAMI DPRINT("\n")
#else
#define EPRINT(fmt, ...) do { fprintf( stderr, fmt, ##__VA_ARGS__ ); } while (0)
#define DPRINT(...)
- #define WHOAMI
+ #define WHOAMI
#endif
+#ifdef __cplusplus
+}
+#endif
#endif /* LOG_H_ */
+