X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2FMakefile;h=1edb96fa22932b1f65328fe215b71d768223f89d;hb=78f2226fb16d88808d49d06e14783b2f2d6553bf;hp=e149f001e469f5698d7d1be152faa456ebf62f55;hpb=445e2ee4d169b33cf5f46aab20905c9d130dc3d1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/Makefile b/qcsrc/Makefile index e149f001e..1edb96fa2 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -1,38 +1,50 @@ CPP := cc -xc -E -QCC ?= gmqcc +QCC ?= ../../../../gmqcc/gmqcc -PROGS_OUT ?= $(CURDIR)/.. +PROGS_OUT ?= .. WORKDIR ?= ../.tmp -QCCFLAGS_WATERMARK ?= $(shell git describe --tags --dirty='*') -VER = $(QCCFLAGS_WATERMARK) +QCCFLAGS_WATERMARK ?= $(shell git describe --tags --dirty='~') +VER = $(subst *,\*,$(QCCFLAGS_WATERMARK)) NDEBUG ?= 1 -BUILD_MOD ?= 0 +XONOTIC ?= 1 +ENABLE_EFFECTINFO ?= 0 +ENABLE_DEBUGDRAW ?= 0 +ENABLE_DEBUGTRACE ?= 0 +BUILD_MOD ?= ifndef ZIP - ifneq ($(shell which zip),) + ifneq ($(shell which zip 2>/dev/null),) ZIP := zip -9 endif - ifneq ($(shell which 7z),) + ifneq ($(shell which 7z 2>/dev/null),) ZIP := 7z a -tzip -mx=9 endif - ifneq ($(shell which 7za),) + ifneq ($(shell which 7za 2>/dev/null),) ZIP := 7za a -tzip -mx=9 endif ifndef ZIP - $(warning "No zip in ($(PATH))") + $(warning "No zip / 7z / 7za in ($(PATH))") ZIP := : zip_not_found endif endif +# Set to empty string to temporarily enable warnings when debugging +QCCFLAGS_WERROR ?= \ + -Werror + # We eventually need to get rid of these QCCFLAGS_WTFS ?= \ -Wno-field-redeclared QCCDEFS ?= \ + -DXONOTIC=$(XONOTIC) \ -DWATERMARK="$(QCCFLAGS_WATERMARK)" \ -DNDEBUG=$(NDEBUG) \ - -DBUILD_MOD=$(BUILD_MOD) \ + -DENABLE_EFFECTINFO=$(ENABLE_EFFECTINFO) \ + -DENABLE_DEBUGDRAW=$(ENABLE_DEBUGDRAW) \ + -DENABLE_DEBUGTRACE=$(ENABLE_DEBUGTRACE) \ + $(if $(BUILD_MOD), -DBUILD_MOD="$(BUILD_MOD)" -I$(BUILD_MOD), ) \ $(QCCDEFS_EXTRA) # -Ooverlap-locals is required @@ -40,7 +52,8 @@ QCCFLAGS ?= \ -std=gmqcc \ -Ooverlap-locals \ -O3 \ - -Werror -Wall \ + $(QCCFLAGS_WERROR) \ + -Wall \ $(QCCFLAGS_WTFS) \ -flno -futf8 -fno-bail-on-werror \ -frelaxed-switch -freturn-assignments \ @@ -59,9 +72,14 @@ clean: | $(WORKDIR) $(RM) $(PROGS_OUT)/csprogs.dat $(RM) $(PROGS_OUT)/menu.dat $(RM) $(PROGS_OUT)/progs.dat + $(RM) $(PROGS_OUT)/csprogs.lno + $(RM) $(PROGS_OUT)/menu.lno + $(RM) $(PROGS_OUT)/progs.lno $(RM) $(WORKDIR)/*.d $(RM) $(WORKDIR)/*.qc $(RM) $(WORKDIR)/*.txt + $(RM) $(WORKDIR)/qccversion.* + $(RM) csprogs-*.pk3 .PHONY: qc qc: $(PROGS_OUT)/csprogs.dat $(PROGS_OUT)/menu.dat $(PROGS_OUT)/progs.dat @@ -80,9 +98,9 @@ pk3: csprogs-$(VER).pk3 $(eval DAT=$(PROG)-$(VER).dat) $(eval LNO=$(PROG)-$(VER).lno) @ echo "http://xonotic.org" > $(TXT) - @ ln -f $(PROGS_OUT)/$(PROG).dat $(DAT) - @ ln -f $(PROGS_OUT)/$(PROG).lno $(LNO) - @ $(RM) *.pk3 + @ cp -f $(PROGS_OUT)/$(PROG).dat $(DAT) + @ cp -f $(PROGS_OUT)/$(PROG).lno $(LNO) + @ $(RM) csprogs-*.pk3 $(ZIP) $(PK3) $(TXT) $(DAT) $(LNO) @ $(RM) $(TXT) $(DAT) $(LNO) @@ -92,6 +110,7 @@ $(QCCVERSIONFILE): | $(WORKDIR) @ $(RM) $(WORKDIR)/qccversion.* @ echo $(QCCVERSION) > $@ +export WORKDIR export CPP export QCC export QCCDEFS @@ -99,15 +118,15 @@ export QCCFLAGS $(PROGS_OUT)/csprogs.dat: client/progs.inc $(QCCVERSIONFILE) | $(WORKDIR) @ echo make[1]: Entering directory \`$(CURDIR)/client\' - @ ./tools/qcc.sh client $@ $< + ./tools/qcc.sh client $@ $< -include $(WORKDIR)/client.d $(PROGS_OUT)/progs.dat: server/progs.inc $(QCCVERSIONFILE) | $(WORKDIR) @ echo make[1]: Entering directory \`$(CURDIR)/server\' - @ ./tools/qcc.sh server $@ $< + ./tools/qcc.sh server $@ $< -include $(WORKDIR)/server.d $(PROGS_OUT)/menu.dat: menu/progs.inc $(QCCVERSIONFILE) | $(WORKDIR) @ echo make[1]: Entering directory \`$(CURDIR)/menu\' - @ ./tools/qcc.sh menu $@ $< + ./tools/qcc.sh menu $@ $< -include $(WORKDIR)/menu.d