DATADIR := $(PREFIX)/share
MANDIR := $(DATADIR)/man
+GMQCC_MAJOR=0
+GMQCC_MINOR=2
+GMQCC_PATCH=0
+
CC ?= clang
CFLAGS += -Wall -Wextra -I. -pedantic-errors
#turn on tons of warnings if clang is present
OBJ_C = main.o lexer.o parser.o
OBJ_X = exec-standalone.o util.o con.o
+CFLAGS += -DGMQCC_VERSION_MAJOR=$(GMQCC_MAJOR)
+CFLAGS += -DGMQCC_VERSION_MINOR=$(GMQCC_MINOR)
+CFLAGS += -DGMQCC_VERSION_PATCH=$(GMQCC_PATCH)
default: gmqcc
%.o: %.c
# pragma warning(disable : 4700 ) /* uninitialized local variable used */
#endif
-#define GMQCC_VERSION_MAJOR 0
-#define GMQCC_VERSION_MINOR 2
-#define GMQCC_VERSION_PATCH 0
+#if !defined(GMQCC_VERSION_MAJOR) \
+ || !defined(GMQCC_VERSION_MINOR) \
+ || !defined(GMQCC_VERSION_PATCH)
+# error GMQCC_VERSION_ macros missing
+#endif
+
#define GMQCC_VERSION_BUILD(J,N,P) (((J)<<16)|((N)<<8)|(P))
#define GMQCC_VERSION \
GMQCC_VERSION_BUILD(GMQCC_VERSION_MAJOR, GMQCC_VERSION_MINOR, GMQCC_VERSION_PATCH)