#!/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