summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvy Foster2018-02-01 17:01:43 -0600
committerIvy Foster2018-02-01 17:01:43 -0600
commit7060dc48ce5675e93913ef5874a842bdc243b2e3 (patch)
tree48dcb219538564cc457e11326e0b9c14c97d7b55
parent4741580393677b91230f0d69633d56df59feae0a (diff)
downloadaur-7060dc48ce5675e93913ef5874a842bdc243b2e3.tar.gz
Completely rewrite Makefile and thus PKGBUILD
-rw-r--r--.SRCINFO20
-rw-r--r--Makefile61
-rw-r--r--PKGBUILD51
3 files changed, 105 insertions, 27 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 37585c742255..c56e00bb7abb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 636d957f3630..3e229b693cfb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"
}