Fix windows builds, add strip target for makefiles, update distro build makefiles...
[xonotic/gmqcc.git] / distro / archlinux / this / Makefile
1 BASEDIR := ../../../
2 PREFIX  := /usr
3 HEADER  := $(BASEDIR)/gmqcc.h
4 MAJOR   := $(shell sed -n -e '/GMQCC_VERSION_MAJOR/{s/.* .* //;p;q;}' $(HEADER))
5 MINOR   := $(shell sed -n -e '/GMQCC_VERSION_MINOR/{s/.* .* //;p;q;}' $(HEADER))
6 PATCH   := $(shell sed -n -e '/GMQCC_VERSION_PATCH/{s/.* .* //;p;q;}' $(HEADER))
7 PKGREL  := 1
8 CARCH   := $(shell uname -m)
9 PKGDIR  := gmqcc-$(MAJOR).$(MINOR).$(PATCH)-$(PKGREL)-$(CARCH)
10 TARCOMP := -J
11 PKG     := $(PKGDIR).pkg.tar.xz
12 PKGINFO := $(PKGDIR)/.PKGINFO
13 DESTDIR := distro/archlinux/this
14 CFLAGS  :=
15
16 LIBC_DEPEND := glibc
17
18 ifneq (, $(findstring i686, $(CARCH)))
19         CFLAGS += -m32
20         LDFLAGS += -m32
21 endif
22
23 base:
24         $(MAKE) -C $(BASEDIR) clean
25         CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
26           $(MAKE) -C $(BASEDIR) "DESTDIR=$(DESTDIR)/$(PKGDIR)" "PREFIX=$(PREFIX)" strip install
27         @echo "pkgname = gmqcc" > $(PKGINFO)
28         @echo "pkgver = $(MAJOR).$(MINOR).$(PATCH)-$(PKGREL)" >> $(PKGINFO)
29         @echo "pkgdesc = An Improved Quake C Compiler" >> $(PKGINFO)
30         @echo "url = https://github.com/graphitemaster/gmqcc.git" >> $(PKGINFO)
31         @echo "builddate = `date -u \"+%s\"`" >> $(PKGINFO)
32         @echo "packager = Unknown Packager" >> $(PKGINFO)
33         @echo "size = `du -sk $(PKGDIR) | awk '{print $$1 * 1024}'`" >> $(PKGINFO)
34         @echo "arch = $(CARCH)" >> $(PKGINFO)
35         @echo "license = MIT" >> $(PKGINFO)
36         @echo "conflict = gmqcc" >> $(PKGINFO)
37         @echo "depend = $(LIBC_DEPEND)" >> $(PKGINFO)
38         @echo "makepkgopt = strip" >> $(PKGINFO)
39         @echo "makepkgopt = docs" >> $(PKGINFO)
40         @echo "makepkgopt = libtool" >> $(PKGINFO)
41         @echo "makepkgopt = emptydirs" >> $(PKGINFO)
42         @echo "makepkgopt = zipman" >> $(PKGINFO)
43         @echo "makepkgopt = purge" >> $(PKGINFO)
44         @echo "makepkgopt = !upx" >> $(PKGINFO)
45         @bsdtar -C $(PKGDIR) -czf $(PKGDIR)/.MTREE \
46             --format=mtree \
47             --options='!all,use-set,type,uid,gid,mode,time,size,md5,sha256,link' \
48             .PKGINFO usr/
49         @bsdtar $(TARCOMP) -cvf $(PKG) -C $(PKGDIR)/ .PKGINFO .MTREE usr/
50         @rm -rf $(PKGDIR)
51
52 clean:
53         $(MAKE) -C $(BASEDIR) clean
54         @rm -f *.pkg.tar.xz
55
56 all: base