diff --git a/Makefile b/Makefile index fca50dd..5cbb13d 100644 --- a/Makefile +++ b/Makefile @@ -180,6 +180,14 @@ DEF-win += -DCONFIG_TCCDIR="\"$(tccdir)/win32\"" endif endif +GITHASH := $(shell git rev-parse >/dev/null 2>&1 && git rev-parse --short HEAD || echo no) +GITCOUNT := $(shell git rev-list --count release_0_9_27..HEAD || echo -1) + +DEF_GITINFO := -DTCC_MOB="$(GITCOUNT)" +ifneq ($(GITHASH),no) +DEF_GITINFO += -DTCC_GITHASH="\"$(GITHASH)$(shell git diff --quiet || echo '-mod')\"" +endif + # include custom configuration (see make help) -include config-extra.mak @@ -222,11 +230,6 @@ $(TCC_FILES) : DEFINES += -DONE_SOURCE=0 $(X)tccpp.o : $(TCCDEFS_H) endif -GITHASH := $(shell git rev-parse >/dev/null 2>&1 && git rev-parse --short HEAD || echo no) -ifneq ($(GITHASH),no) -DEF_GITHASH := -DTCC_GITHASH="\"$(GITHASH)$(shell git diff --quiet || echo '-mod')\"" -endif - ifeq ($(CONFIG_debug),yes) CFLAGS += -g LDFLAGS += -g @@ -246,7 +249,8 @@ $(X)%.o : %.c $(LIBTCC_INC) # additional dependencies $(X)tcc.o : tcctools.c -$(X)tcc.o : DEFINES += $(DEF_GITHASH) +$(X)tcc.o : DEFINES += $(DEF_GITINFO) +$(X)tccpp.o : DEFINES += $(DEF_GITINFO) # Host Tiny C Compiler tcc$(EXESUF): tcc.o $(LIBTCC) diff --git a/tccpp.c b/tccpp.c index 897ef15..3812843 100644 --- a/tccpp.c +++ b/tccpp.c @@ -3712,6 +3712,7 @@ static void tcc_predefs(TCCState *s1, CString *cs, int is_asm) sscanf(TCC_VERSION, "%d.%d.%d", &a, &b, &c); cstr_printf(cs, "#define __TINYC__ %d\n", a*10000 + b*100 + c); + cstr_printf(cs, "#define __TINYC_MOB__ %d\n", TCC_MOB); for (a = 0; defs[a]; ++a) for (p = defs[a]; *p; p = strchr(p, 0) + 1) putdef(cs, p);