File: rules

package info (click to toggle)
libgdchart-gd1 0.10.1dev-11
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 328 kB
  • ctags: 430
  • sloc: ansic: 3,885; sh: 123; makefile: 111
file content (103 lines) | stat: -rwxr-xr-x 4,733 bytes parent folder | download
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