diff options
author | Ivy Foster | 2018-02-01 17:01:43 -0600 |
---|---|---|
committer | Ivy Foster | 2018-02-01 17:01:43 -0600 |
commit | 7060dc48ce5675e93913ef5874a842bdc243b2e3 (patch) | |
tree | 48dcb219538564cc457e11326e0b9c14c97d7b55 | |
parent | 4741580393677b91230f0d69633d56df59feae0a (diff) | |
download | aur-7060dc48ce5675e93913ef5874a842bdc243b2e3.tar.gz |
Completely rewrite Makefile and thus PKGBUILD
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | Makefile | 61 | ||||
-rw-r--r-- | PKGBUILD | 51 |
3 files changed, 105 insertions, 27 deletions
@@ -16,3 +16,23 @@ pkgbase = libbulletml pkgname = libbulletml +pkgbase = libbulletml + pkgdesc = C++ library to handle BulletML, a markup language to describe bullets in shooting games. + pkgver = 0.0.6 + pkgrel = 3 + url = http://shinh.skr.jp/libbulletml/index_en.html + arch = x86_64 + arch = i686 + license = custom:libbulletml + noextract = d_cpp.tar.bz2 + source = http://shinh.skr.jp/libbulletml/libbulletml-0.0.6.tar.bz2 + source = http://shinh.skr.jp/d/d_cpp.tar.bz2 + source = http://http.debian.net/debian/pool/main/b/bulletml/bulletml_0.0.6-7.debian.tar.xz + source = Makefile + sha256sums = 7c37f3d2d52825417c5de716f89bea4b71156371e698e2579daf7921df07aa79 + sha256sums = f0a9f01ef9daaa980f876253c81e8e76eea17b7de1aa569bf23661b456c5c9d3 + sha256sums = e85182a82604b4bc3c3f42b35f5d77decd327239602bcc4b5ac3a2e1269f211e + sha256sums = 0d04bf79f0c9ae834a2520190507d5b1bf8e1f501a0ef5fadcee9575eb2c8bf2 + +pkgname = libbulletml + diff --git a/Makefile b/Makefile new file mode 100644 index 000000000000..f725d6e51127 --- /dev/null +++ b/Makefile @@ -0,0 +1,61 @@ +INCLUDES = -I. -I../d_cpp +CXXFLAGS ?= -O2 -W -Wall -ansi -pedantic +CXXFLAGS += -ansi +CFLAGS ?= -O2 +prefix ?= /usr/local +VDIR = tinyxml + +includedir ?= include +libdir ?= lib + +MAJOR=0d2 +MINOR=0 + +VPATH=.:tinyxml +OBJS = bulletmlparser-tinyxml.o bulletmlparser.o bulletmltree.o calc.o \ + formula-variables.o bulletmlrunner.o bulletmlrunnerimpl.o +TINYXML = tinyxml.o tinyxmlerror.o tinyxmlparser.o + +all: bulletml.d libbulletml.a libbulletml.so.$(MAJOR).$(MINOR) + +libbulletml.a: $(OBJS) $(TINYXML) + $(AR) cru $@ $^ + +libbulletml.so.$(MAJOR).$(MINOR): $(OBJS) $(TINYXML) + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -fPIC -fpic \ + -Wl,-soname,libbulletml.so.$(MAJOR) \ + -o $@ $^ + +bulletml.d: bulletml_d.cpp + perl ../d_cpp/create_d_import.pl bulletml_d.cpp bulletml.d + +$(TINYXML): %.o: %.cpp + $(CXX) -c $(CXXFLAGS) -fPIC -fpic $(INCLUDES) $< -o $@ + +clean: + rm -f calc.cpp libbulletml.a libbulletml.so.$(MAJOR).$(MINOR) *.o tinyxml/*.o + +calc.cpp: calc.yy + bison -y calc.yy -o calc.cpp + +$(OBJS): %.o: %.cpp + $(CXX) -c $(CXXFLAGS) -fPIC -fpic $(INCLUDES) $< + +doxy: + doxygen + +install: all + install -D -m 644 bulletml.d $(DESTDIR)/$(prefix)/$(includedir)/d/bulletml.d + install -D -m 644 tinyxml/tinyxml.h $(DESTDIR)/$(prefix)/$(includedir)/bulletml/tinyxml/tinyxml.h + install -m 644 *.h $(DESTDIR)/$(prefix)/$(includedir)/bulletml + install -d $(DESTDIR)/$(prefix)/$(libdir) + install -m 644 libbulletml.a $(DESTDIR)/$(prefix)/$(libdir) + install -m 644 libbulletml.so.$(MAJOR).$(MINOR) $(DESTDIR)/$(prefix)/$(libdir) + ln -f -r -s \ + $(DESTDIR)/$(prefix)/$(libdir)/libbulletml.so.$(MAJOR).$(MINOR) \ + $(DESTDIR)/$(prefix)/$(libdir)/libbulletml.so.$(MAJOR) + ln -f -r -s \ + $(DESTDIR)/$(prefix)/$(libdir)/libbulletml.so.$(MAJOR).$(MINOR) \ + $(DESTDIR)/$(prefix)/$(libdir)/libbulletml.so + +PHONY: all clean doxy install @@ -3,54 +3,51 @@ pkgname=libbulletml pkgver=0.0.6 -pkgrel=2 +pkgrel=3 pkgdesc='C++ library to handle BulletML, a markup language to describe bullets in shooting games.' url='http://shinh.skr.jp/libbulletml/index_en.html' license=('custom:libbulletml') -arch=('x86_64' 'i686') -source=("http://shinh.skr.jp/libbulletml/libbulletml-$pkgver.tar.bz2" +arch=(x86_64 i686) +source=( + "http://shinh.skr.jp/libbulletml/libbulletml-$pkgver.tar.bz2" 'http://shinh.skr.jp/d/d_cpp.tar.bz2' - "http://http.debian.net/debian/pool/main/b/bulletml/bulletml_$pkgver-5.debian.tar.bz2") + "http://http.debian.net/debian/pool/main/b/bulletml/bulletml_$pkgver-7.debian.tar.xz" + Makefile +) # Upstream does not provide checksums, though Debian does for their patches, # so take the first two checksums with a grain of salt. sha256sums=( - '7c37f3d2d52825417c5de716f89bea4b71156371e698e2579daf7921df07aa79' - 'f0a9f01ef9daaa980f876253c81e8e76eea17b7de1aa569bf23661b456c5c9d3' - 'f6ef24ea2dd1d572bee08207176d150b3a52b7075e4da9a05af3376fd8cbb672') -noextract=('d_cpp.tar.bz2') + 7c37f3d2d52825417c5de716f89bea4b71156371e698e2579daf7921df07aa79 + f0a9f01ef9daaa980f876253c81e8e76eea17b7de1aa569bf23661b456c5c9d3 + e85182a82604b4bc3c3f42b35f5d77decd327239602bcc4b5ac3a2e1269f211e + 0d04bf79f0c9ae834a2520190507d5b1bf8e1f501a0ef5fadcee9575eb2c8bf2 +) +noextract=(d_cpp.tar.bz2) prepare() { cd bulletml - tar xf "$srcdir"/d_cpp.tar.bz2 - for patch in "$srcdir"/debian/patches/*.patch; do + tar xf "$srcdir/d_cpp.tar.bz2" + for patch in ../debian/patches/*.patch; do patch -Np1 < "$patch" done + + cp "$srcdir/Makefile" src } build() { - cd bulletml - make -C src libbulletml.a - rm -f src/*.o src/*/*.o # yes, really, this actually *is* necessary - # So is this fun with flags - make -C src CFLAGS="$CFLAGS -fPIC -fpic" CXXFLAGS="$CFLAGS -fPIC -fpic" \ - LDFLAGS="-Wl,-z,defs" libbulletml.so + make -C bulletml/src } package() { cd bulletml - install -D -m 644 src/bulletml.d "$pkgdir"/usr/include/d/bulletml.d - install -d "$pkgdir"/usr/include/bulletml/tinyxml - install -m 644 src/*.h "$pkgdir"/usr/include/bulletml - install -m 644 src/tinyxml/tinyxml.h "$pkgdir"/usr/include/bulletml/tinyxml + make -C src DESTDIR="$pkgdir" prefix=/usr install - install -d "$pkgdir"/usr/lib - install -m 644 src/libbulletml.{a,so} "$pkgdir"/usr/lib + install -D -m 644 README "$pkgdir/usr/share/doc/libbulletml/README.jp" + install -m 644 README.en "$pkgdir/usr/share/doc/libbulletml" + install -m 644 README.bulletml "$pkgdir/usr/share/doc/libbulletml" - install -D -m 644 README "$pkgdir"/usr/share/doc/libbulletml/README.jp - install -m 644 README.en "$pkgdir"/usr/share/doc/libbulletml - install -m 644 README.bulletml "$pkgdir"/usr/share/doc/libbulletml - install -D -m 644 README "$pkgdir"/usr/share/licenses/libbulletml/README.jp - install -m 644 README.en "$pkgdir"/usr/share/licenses/libbulletml + install -D -m 644 README "$pkgdir/usr/share/licenses/libbulletml/README.jp" + install -m 644 README.en "$pkgdir/usr/share/licenses/libbulletml" } |