1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#!/usr/bin/make -f
FLAVOURS := pic nonpic
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
export DEB_BUILD_MAINT_OPTIONS := hardening=+all
CONFIGURE_ARGS_COMMON := --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) --disable-examples --x-includes=/usr/include --x-libraries=/usr/lib/$(DEB_HOST_MULTIARCH)
CONFIGURE_ARGS_pic := -with-pic
CONFIGURE_ARGS_nonpic := --disable-gpc
DESTDIR_nonpic := debian/libagg-dev
DESTDIR_pic := debian/libagg2-dev
builddir = $(patsubst %,obj-%,$(1))
define do-flavour
configure-$(1): configure-$(1)-stamp
:
configure-$(1)-stamp:
rm -rf $(CURDIR)/$(builddir)
mkdir -p $(CURDIR)/$(builddir)
find $(CURDIR)/* -maxdepth 0 -not -path '$(CURDIR)/obj-*' | \
xargs cp -rlf -t $(CURDIR)/$(builddir)
cd $(builddir) && env NOCONFIGURE=1 sh autogen.sh
dh_auto_configure --sourcedirectory=$(builddir) -- $(CONFIGURE_ARGS_COMMON) $(CONFIGURE_ARGS_$(1)) $(shell dpkg-buildflags --export=configure)
touch $$@
build-$(1): build-$(1)-stamp
:
build-$(1)-stamp: configure-$(1)
$(MAKE) -C $(builddir)
touch $$@
install-$(1): install-$(1)-stamp
:
install-$(1)-stamp: build-$(1)
$(MAKE) -C $(builddir) install DESTDIR=$(CURDIR)/$(DESTDIR_$(1))
touch $$@
endef
$(foreach f,$(FLAVOURS),$(eval $(call do-flavour,$(f))))
%:
dh $@
override_dh_auto_build: $(foreach f,$(FLAVOURS),build-$(f))
:
override_dh_auto_install: $(foreach f,$(FLAVOURS),install-$(f))
# Fix names of PIC static libs
mv $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libaggfontfreetype.a \
$(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libaggfontfreetype_pic.a
mv $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libaggplatformsdl.a \
$(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libaggplatformsdl_pic.a
mv $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libaggplatformX11.a \
$(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libaggplatformX11_pic.a
mv $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libagg.a \
$(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libagg_pic.a
# Cross-install static libs
install -m644 $(DESTDIR_nonpic)/usr/lib/$(DEB_HOST_MULTIARCH)/*.a \
$(CURDIR)/debian/libagg2-dev/usr/lib/$(DEB_HOST_MULTIARCH)
install -m644 $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/*_pic.a \
$(CURDIR)/debian/libagg-dev/usr/lib/$(DEB_HOST_MULTIARCH)
# Remove .la files / non-PIC .so files
find $(CURDIR)/debian/libagg-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ -name "*.so*" | xargs rm
find $(CURDIR)/debian/libagg-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ -name "*.la" | xargs rm
find $(CURDIR)/debian/libagg2-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ -name "*.la" | xargs rm
# Remove libaggfontfreetype/libaggplatform* .so files
find $(CURDIR)/debian/libagg2-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ -name "libaggfontfreetype.so*" | xargs rm
find $(CURDIR)/debian/libagg2-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ -name "libaggplatform*.so*" | xargs rm
# Install so files in runtime package
mkdir -m755 -p $(CURDIR)/debian/libagg2/usr/lib/$(DEB_HOST_MULTIARCH)
mv $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/libagg.so.* \
$(CURDIR)/debian/libagg2/usr/lib/$(DEB_HOST_MULTIARCH)
# Fix pkg-config file in libagg-dev to point to PIC static library
sed 's/-lagg/-lagg_pic/' $(DESTDIR_pic)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libagg.pc \
> $(DESTDIR_nonpic)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libagg.pc
override_dh_auto_clean:
rm -rf $(foreach f,$(FLAVOURS),obj-$(f))
rm -rf $(DESTDIR_pic)
dh_auto_clean
override_dh_installchangelogs:
dh_installchangelogs ChangeLog
|