| #!/usr/bin/make -f |
| # -*- makefile -*- |
| |
| # Uncomment this to turn on verbose mode. |
| export DH_VERBOSE=1 |
| |
| |
| include /usr/share/dpkg/default.mk |
| |
| # FIXME: define version, API and ABI |
| # see e.g. http://anonscm.debian.org/cgit/collab-maint/libv8.git/tree/debian/rules#n19 |
| SOVER=0 |
| VER=$(SOVER).0.1 |
| SONAME=$(DEB_SOURCE).so.$(SOVER) |
| |
| DESTDIR_BIN = $(CURDIR)/debian/$(DEB_SOURCE)$(SOVER) |
| DESTDIR_DBG = $(CURDIR)/debian/$(DEB_SOURCE)$(SOVER)-dbg |
| DESTDIR_DEV = $(CURDIR)/debian/$(DEB_SOURCE)-dev |
| |
| SOURCEDIR = $(CURDIR) |
| BUILDDIR = out |
| |
| export SOVER |
| export SONAME |
| |
| %: |
| dh $@ --buildsystem=makefile --builddirectory=$(BUILDDIR) |
| |
| .PHONY: override_dh_strip |
| |
| override_dh_auto_clean: |
| dh_auto_clean |
| rm -f Makefile libweave_standalone.Makefile \ |
| libweave-test.target.mk libweave.target.mk libweave_common.target.mk \ |
| libweave_exports_testrunner.target.mk libweave_testrunner.target.mk |
| ( \ |
| for SUB_DIR in googlemock/gtest googlemock; do \ |
| cd $(SOURCEDIR)/third_party/googletest/$$SUB_DIR || exit 1; \ |
| test -e Makefile && make clean distclean || /bin/true; \ |
| done; \ |
| ) |
| |
| override_dh_auto_configure: |
| ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) |
| ( \ |
| for SUB_DIR in googlemock/gtest googlemock; do \ |
| cd $(SOURCEDIR)/third_party/googletest/googlemock || exit 1; \ |
| autoreconf -fvi || exit 1; \ |
| ./configure --disable-shared || exit 1; \ |
| make || exit 1; \ |
| cp -rf include/* $(SOURCEDIR)/third_party/include/ || exit 1; \ |
| cp -rf lib/.libs/* $(SOURCEDIR)/third_party/lib/ || exit 1; \ |
| done; \ |
| ) || exit -1 |
| endif |
| gyp -Ilibweave_common.gypi --depth=. libweave_standalone.gyp -f make |
| |
| # FIXME: BUILDTYPE=Debug/Release |
| # objdump -p ./debian/libweave0/usr/lib/libweave.so.0.0.1 | grep SONAME |
| # -Wl,-soname,$(SONAME) |
| override_dh_auto_build: CXXFLAGS += -Ithird_party/include/ |
| override_dh_auto_build: LDFLAGS += -Lthird_party/lib |
| override_dh_auto_build: |
| ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) |
| make libweave |
| else |
| make |
| endif |
| gzip -9c $(SOURCEDIR)/ChangeLog >$(BUILDDIR)/ChangeLog.gz |
| |
| #override_dh_makeshlibs: |
| # dh_makeshlibs -s -V |
| |
| override_dh_strip: |
| dh_strip --dbg-package=libweave0-dbg |
| |
| override_dh_auto_test: |
| ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) |
| $(BUILDDIR)/Debug/libweave_testrunner && \ |
| $(BUILDDIR)/Debug/libweave_exports_testrunner |
| endif |
| |
| # FIXME: handle Debug/Release |
| override_dh_auto_install: |
| # libweave0 |
| install -D $(BUILDDIR)/Debug/lib.target/libweave.so.0 $(DESTDIR_BIN)/usr/lib/$(DEB_SOURCE).so.$(VER) |
| install -D $(BUILDDIR)/ChangeLog.gz $(DESTDIR_BIN)/usr/share/doc/$(DEB_SOURCE)$(SOVER)/changelog.gz |
| # libweave0-dbg |
| install -D $(BUILDDIR)/ChangeLog.gz $(DESTDIR_DBG)/usr/share/doc/$(DEB_SOURCE)$(SOVER)-dbg/changelog.gz |
| # libweave-dev |
| install -D $(BUILDDIR)/ChangeLog.gz $(DESTDIR_DEV)/usr/share/doc/$(DEB_SOURCE)-dev/changelog.gz |
| install -d $(DESTDIR_DEV)/usr/include |
| cp -r $(SOURCEDIR)/include/weave $(DESTDIR_DEV)/usr/include |
| # meh: we need to cherry pick headers from a bunch of cpp classes |
| #cp -r third_party/chromium/base $(DESTDIR_DEV)/usr/include/weave |
| cd $(SOURCEDIR)/third_party/chromium; \ |
| for h in $$(find "base" -name "*.h"); do \ |
| install -D "$(SOURCEDIR)/third_party/chromium/$$h" "$(DESTDIR_DEV)/usr/include/weave/$$h"; \ |
| done |
| install -d $(DESTDIR_DEV)/usr/lib/pkgconfig |
| sed \ |
| -e "s/@BSLOT@/$(VER)/g" \ |
| -e "s/@PRIVATE_PC@//g" \ |
| "libweave.pc.in" > "$(DESTDIR_DEV)/usr/lib/pkgconfig/libweave-$(SOVER).pc" |
| sed \ |
| -e "s/@BSLOT@/$(VER)/g" \ |
| -e "s/@PRIVATE_PC@//g" \ |
| "libweave-test.pc.in" > "$(DESTDIR_DEV)/usr/lib/pkgconfig/libweave-test-${SOVER}.pc" |
| |