include include.mk
UNAME ?= $(shell uname)
-CYGWIN = $(findstring CYGWIN, $(UNAME))
-MINGW = $(findstring MINGW32, $(UNAME))
+CYGWIN = $(findstring CYGWIN, $(UNAME))
+MINGW = $(findstring MINGW, $(UNAME))
CFLAGS += -Wall -Wextra -Werror -Wstrict-aliasing -Wno-attributes
#turn on tons of warnings if clang is present
.NOTPARALLEL: upload
base:
+ @echo "Building Debian packages ..."
$(MAKE) -C deb/
$(MAKE) -C deb/ CARCH=i686
+ @echo "Building Archlinux packages ..."
$(MAKE) -C archlinux/this/
$(MAKE) -C archlinux/this/ CARCH=i686
+ @echo "Building Slackware packages ..."
$(MAKE) -C win32/
+ $(MAKE) -C win64
+ @echo "Building Windows packages ..."
$(MAKE) -C slackware/this/
$(MAKE) -C slackware/this/ CARCH=i686
@mv deb/*.deb ./
@mv archlinux/this/*pkg.tar.xz ./
@mv win32/*.zip ./
+ @mv win64/*.zip ./
@mv slackware/this/*.txz ./
upload:
BINDIR := gmqcc-$(MAJOR).$(MINOR).$(PATCH)
base:
- $(MAKE) CC=i486-mingw32-gcc UNAME=MINGW32 -C $(BASEDIR) clean
- $(MAKE) CC=i486-mingw32-gcc UNAME=MINGW32 -C $(BASEDIR) DESTDIR=distro/win32/$(BINDIR) PREFIX=/ strip install
+ $(MAKE) CC=i686-w64-mingw32-gcc UNAME=MINGW -C $(BASEDIR) clean
+ $(MAKE) CC=i686-w64-mingw32-gcc UNAME=MINGW -C $(BASEDIR) DESTDIR=distro/win32/$(BINDIR) PREFIX=/ strip install
@mkdir -p $(BINDIR)/doc
@groff -mandoc $(BINDIR)/man1/gmqpak.1 | ps2pdf - $(BINDIR)/doc/gmqpak.pdf
@groff -mandoc $(BINDIR)/man1/qcvm.1 | ps2pdf - $(BINDIR)/doc/qcvm.pdf
--- /dev/null
+BASEDIR := ../..
+HEADER := $(BASEDIR)/gmqcc.h
+MAJOR := `sed -n -e '/GMQCC_VERSION_MAJOR/{s/.* .* //;p;q;}' $(HEADER)`
+MINOR := `sed -n -e '/GMQCC_VERSION_MINOR/{s/.* .* //;p;q;}' $(HEADER)`
+PATCH := `sed -n -e '/GMQCC_VERSION_PATCH/{s/.* .* //;p;q;}' $(HEADER)`
+BINDIR := gmqcc-$(MAJOR).$(MINOR).$(PATCH)
+
+base:
+ $(MAKE) CC=x86_64-w64-mingw32-gcc UNAME=MINGW -C $(BASEDIR) clean
+ $(MAKE) CC=x86_64-w64-mingw32-gcc UNAME=MINGW -C $(BASEDIR) DESTDIR=distro/win64/$(BINDIR) PREFIX=/ strip install
+ @mkdir -p $(BINDIR)/doc
+ @groff -mandoc $(BINDIR)/man1/gmqpak.1 | ps2pdf - $(BINDIR)/doc/gmqpak.pdf
+ @groff -mandoc $(BINDIR)/man1/qcvm.1 | ps2pdf - $(BINDIR)/doc/qcvm.pdf
+ @groff -mandoc $(BINDIR)/man1/gmqcc.1 | ps2pdf - $(BINDIR)/doc/gmqcc.pdf
+ @rm -rf $(BINDIR)/man1/
+ @zip -r $(BINDIR)-win64.zip $(BINDIR)
+ @rm -rf $(BINDIR)
+clean:
+ $(MAKE) -C $(BASEDIR) clean
+ @rm -f *.zip
+
+all: base