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 93 94 95 96 97 98 99 100 101 102 103
|
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2004-2006 Jonas Smedegaard <dr@jones.dk>
#
# Put DEB_BUILD_OPTIONS=update in environment
# to force control to be regenerated from control.in
#
include debian/cdbs/1/rules/auto-update.mk
DEB_GD_PKGBASE = libgdchart-gd1
DEB_GD_LIBRARY = libgdchart
DEB_MAKEFILE_FLAVORS = xpm noxpm
#include debian/cdbs/1/class/makefile-vars.mk
include debian/cdbs/1/class/makefile-flavors.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/simple-patchsys.mk
include debian/cdbs/1/rules/buildinfo.mk
include debian/cdbs/1/rules/copyright-check.mk
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), d-shlibs (>> 0.23), libgd-noxpm-dev (>= 1.8.4-30), libxpm-dev
# ABI is the same, but package dependencies are not
# (some source packages may need to build-conflict with libxpm-dev to avoid it)
DEB_DH_MAKESHLIBS_ARGS_$(DEB_GD_PKGBASE)-xpm = -V'$(cdbs_curpkg)'
DEB_DH_MAKESHLIBS_ARGS$(DEB_GD_PKGBASE)-noxpm = -V'$(cdbs_curpkg) | $(patsubst %-noxpm,%-xpm,$(cdbs_curpkg))'
version := $(shell expr `pwd` : '.*-\([0-9.]*\)')
version_major := $(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
# Common GD options
INCLUDEDIRS = -I/usr/include/freetype2 -I/usr/include/freetype2/freetype
LIBS = -lc -lm -L/usr/lib -lpng -lz -ljpeg -lfreetype -lgd
CFLAGS += -D_REENTRANT -pipe -DHAVE_LIBPNG -DHAVE_LIBFREETYPE -DHAVE_LIBJPEG
CFLAGS_$(DEB_GD_PKGBASE)-xpm = $(CFLAGS) -fPIC -DHAVE_XPM
CFLAGS_$(DEB_GD_PKGBASE)-noxpm = $(CFLAGS) -fPIC
CFLAGS_$(DEB_GD_PKGBASE)-xpm-dev = $(CFLAGS) -DHAVE_XPM
CFLAGS_$(DEB_GD_PKGBASE)-noxpm-dev = $(CFLAGS)
# Specific options for this build environment
DEB_MAKE_MAKEFILE = ../makefile
GD_INCL = /usr/include
GD_LIB = /usr/lib
GDC_INCL = ..
DEB_MAKE_ENVVARS = VPATH=".." GD_INCL="$(GD_INCL)" GD_LIB="$(GD_LIB)" GDC_INCL="$(GDC_INCL)"
INCLUDEDIRS += -I$(GDC_INCL)
build/$(DEB_GD_PKGBASE)-xpm build/$(DEB_GD_PKGBASE)-xpm-dev :: INCLUDEDIRS += -I/usr/include/X11
CFLAGS += $(INCLUDEDIRS)
# This is needed, unfortunately :-(
CFLAGS += -fsigned-char
$(patsubst %,\%/%,$(DEB_MAKEFILE_PACKAGES)) :: DEB_MAKE_BUILD_TARGET = $(DEB_GD_LIBRARY).a
#$(patsubst %,install/%,$(DEB_MAKEFILE_PACKAGES)) :: DEB_INSTALL_DIRS_$(cdbs_curpkg) += usr/lib
# TODO: Use something like the above instead of the below makefile.mk fork
# (but $(cdbs_curpgk) is only expanded later)
$(patsubst %,install/%,$(DEB_MAKEFILE_PACKAGES)) :: install/%:
dh_installdirs -p$(cdbs_curpkg) usr/lib
#$(patsubst %,install/%,$(filter %-dev,$(DEB_MAKEFILE_PACKAGES))) :: DEB_INSTALL_DIRS_$(cdbs_curpkg) += usr/include
# TODO: Use something like the above instead of the below makefile.mk fork
# (but $(cdbs_curpgk) is only expanded later)
$(patsubst %,install/%,$(filter %-dev,$(DEB_MAKEFILE_PACKAGES))) :: install/%:
dh_installdirs -p$(cdbs_curpkg) usr/include
# Build shared libc6 library.
build/$(DEB_GD_PKGBASE)-xpm::
cd $(DEB_BUILDDIR) && \
gcc -shared -D_REENTRANT \
-Wl,-soname,$(DEB_GD_LIBRARY).so.$(version_major) \
-o $(DEB_GD_LIBRARY).so.$(version) \
`echo *.o` \
$(LIBS) -L/usr/X11R6/lib -lXpm -lX11
# Build shared libc6 library without XPM support.
build/$(DEB_GD_PKGBASE)-noxpm::
cd $(DEB_BUILDDIR) && \
gcc -shared -D_REENTRANT \
-Wl,-soname,$(DEB_GD_LIBRARY).so.$(version_major) \
-o $(DEB_GD_LIBRARY).so.$(version) \
`echo *.o` \
$(LIBS)
## TODO: Let d-shlibs intelligently handle shared library install
#common-binary-post-install-arch::
# d-shlibmove --commit --movedev "*.h" usr/include/ $(DEB_GD_PKGBASE)-xpm/$(DEB_GD_LIBRARY).so
$(patsubst %,binary-install/%,$(filter-out %-dev,$(DEB_MAKEFILE_PACKAGES))) ::
install -m644 $(DEB_MAKEFILE_BUILDDIR)/$(DEB_GD_LIBRARY).so.$(version) debian/$(cdbs_curpkg)/usr/lib/
ln -sf $(DEB_GD_LIBRARY).so.$(version) debian/$(cdbs_curpkg)/usr/lib/$(DEB_GD_LIBRARY).so.$(version_major)
$(patsubst %,binary-install/%,$(filter %-dev,$(DEB_MAKEFILE_PACKAGES))) ::
install -m644 $(DEB_MAKEFILE_BUILDDIR)/$(DEB_GD_LIBRARY).a debian/$(cdbs_curpkg)/usr/lib
install -m644 *.h debian/$(cdbs_curpkg)/usr/include
ln -sf $(DEB_GD_LIBRARY).so.$(version) debian/$(cdbs_curpkg)/usr/lib/$(DEB_GD_LIBRARY).so
# FIXME: Do not rely on cdbs:curpkg being last part of DEB_MAKEFILE_BUILDDIR
$(patsubst %,binary-fixup/%,$(filter %-dev,$(DEB_MAKEFILE_PACKAGES))) ::
# d-devlibdeps debian/$(cdbs_curpkg).substvars $(patsubst %-dev,%,$(DEB_MAKEFILE_BUILDDIR))/$(DEB_GD_LIBRARY).so.$(version)
/bin/bash debian/d-shlibs/d-devlibdeps debian/$(cdbs_curpkg).substvars $(patsubst %-dev,%,$(DEB_MAKEFILE_BUILDDIR))/$(DEB_GD_LIBRARY).so.$(version)
# We don't actually use the XPM calls, so noxpm version is ok
perl -i -pne 's/libgd2-dev/libgd2-noxpm-dev \| libgd2-xpm-dev/g' debian/$(cdbs_curpkg).substvars
|