aboutsummaryrefslogtreecommitdiff
path: root/debian/rules
blob: e406f56e7c85ca44d66e63498ecc54b56cef6e69 (plain)
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/make -f

NULL =

export CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS --export=cmdline)
export CFLAGS:=$(shell dpkg-buildflags --get CFLAGS --export=cmdline)
export CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS --export=cmdline)
export LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS --export=cmdline)

export LIBDIR = "/usr/lib/$(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)"
export INCLUDEDIR = "/usr/include/$(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)"

%:
	CONFIGURE="./configure --with-symbols --prefix=/usr --libdir=$(LIBDIR) --includedir=$(INCLUDEDIR)" dh $@ --with quilt

override_dh_auto_clean:
	rm -Rf nx-X11/.build-exports
	dh_auto_clean

override_dh_clean:
	rm -f nx*/configure
	rm -f nx*/changelog
	rm -f nx-X11/programs/Xserver/hw/nxagent/changelog
	rm -f nx-X11/programs/nxauth/changelog
	if [ ! -f replace.sh ] && [ ! -h replace.sh ]; then ln -s debian/Makefile.replace.sh replace.sh; fi
	. ./replace.sh; set -x; ls debian/*.install.in | while read file; do rm -f $$(string_rep $$file .install.in .install); done
	rm -fR replace.sh Makefile bin etc/rgb VERSION.x2goagent etc/keystrokes.cfg etc/nxagent.keyboard etc/x2goagent.keyboard
	rm -f debian/libnx-xinerama1.postinst
	rm -fR .preserve/
	if [ -f nxcomp/.VERSION.NoMachine ]; then mv nxcomp/.VERSION.NoMachine nxcomp/VERSION; fi
	dh_clean

override_dh_installchangelog:

	### the doc/changelog file is the actual NX (redistributed) ChangeLog
	dh_installchangelog doc/changelog

override_dh_install:

	# handle builds for Debian squeeze (non multi-arch)
	. ./replace.sh; set -x; if [ -z "$(DEB_BUILD_MULTIARCH)" ]; then \
	    find debian/*.install.in | while read file; do \
	        cat $$file | sed -e 's#/\*/#/#g' > $$(string_rep $$file .install.in .install); \
	    done; \
	else \
	    find debian/*.install.in | while read file; do \
	        cat $$file > $$(string_rep $$file .install.in .install); \
	    done; \
	fi

	# remove static libs
	rm debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/libXcomp.a
	rm debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/libXcompshad.a

	# remove extras, GL, and other unneeded headers
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/GL/
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/bitmaps/
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XInput.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XK*.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/*Xv*.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xtrap*.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/Print*.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XRes*.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/record*.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86vmode.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86vmstr.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86misc.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dga1.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dgastr.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dga.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dga1str.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86mscstr.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/dmxext.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/dmxproto.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/bigreqstr.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xcmiscstr.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XIproto.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86bigfstr.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86bigfont.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XI.h
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/fonts/
	rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/Xtrans/

	dh_install --fail-missing

override_dh_auto_install:
	PREFIX=/usr dh_auto_install -Smakefile

override_dh_auto_build:

	# create copies of upstream changelogs so that names apply to Debian policy...
	cp -a nx-X11/CHANGELOG nx-X11/changelog
	cp -a nxcomp/CHANGELOG nxcomp/changelog
	if [ -f nxcomp/VERSION ]; then cp nxcomp/VERSION nxcomp/.VERSION.NoMachine; fi
	cp -a nxcompext/CHANGELOG nxcompext/changelog
	cp -a nxcompshad/CHANGELOG nxcompshad/changelog
	cp -a nx-X11/programs/Xserver/hw/nxagent/CHANGELOG nx-X11/programs/Xserver/hw/nxagent/changelog
	cp -a nx-X11/programs/nxauth/CHANGELOG nx-X11/programs/nxauth/changelog
	cp -a nxproxy/CHANGELOG nxproxy/changelog
	ln -s debian/Makefile.nx-libs Makefile
	ln -s debian/Makefile.replace.sh replace.sh
	ln -s debian/wrappers bin
	mkdir -p etc/
	ln -s ../debian/keystrokes.cfg etc/keystrokes.cfg
	ln -s ../debian/rgb etc/rgb
	ln -s ../debian/nxagent.keyboard etc/nxagent.keyboard
	ln -s ../debian/x2goagent.keyboard etc/x2goagent.keyboard
	mkdir -p doc/
	ln -s ../debian/changelog doc/changelog
	ln -sf debian/VERSION VERSION.x2goagent
	ln -sf ../debian/VERSION nxcomp/VERSION

	# let's prep the libnx-xinerama1.postinst script with the value of the build systems's DEB_BUILD_MULTIARCH variable
	sed debian/libnx-xinerama1.postinst.in -e 's/#DEB_BUILD_MULTIARCH#/$(DEB_BUILD_MULTIARCH)/' > debian/libnx-xinerama1.postinst

	LOCAL_LDFLAGS=$(LDFLAGS) SHLIBGLOBALSFLAGS=$(LDFLAGS) SHLIBDIR=$(LIBDIR) PREFIX=/usr dh_auto_build --parallel

override_dh_strip:
	dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg
	dh_strip -plibnx-xau6 --dbg-package=libnx-xau6-dbg
	dh_strip -plibnx-xcomposite1 --dbg-package=libnx-xcomposite1-dbg
	dh_strip -plibnx-xdamage1 --dbg-package=libnx-xdamage1-dbg
	dh_strip -plibnx-xdmcp6 --dbg-package=libnx-xdmcp6-dbg
	dh_strip -plibnx-xext6 --dbg-package=libnx-xext6-dbg
	dh_strip -plibnx-xfixes3 --dbg-package=libnx-xfixes3-dbg
	dh_strip -plibnx-xinerama1 --dbg-package=libnx-xinerama1-dbg
	dh_strip -plibnx-xpm4 --dbg-package=libnx-xpm4-dbg
	dh_strip -plibnx-xrandr2 --dbg-package=libnx-xrandr2-dbg
	dh_strip -plibnx-xrender1 --dbg-package=libnx-xrender1-dbg
	dh_strip -plibnx-xtst6 --dbg-package=libnx-xtst6-dbg
	dh_strip -plibxcomp3 --dbg-package=libxcomp3-dbg
	dh_strip -plibxcompshad3 --dbg-package=libxcompshad3-dbg
	dh_strip -plibxcompext3 --dbg-package=libxcompext3-dbg
	dh_strip -pnxagent --dbg-package=nxagent-dbg
	dh_strip -pnxproxy --dbg-package=nxproxy-dbg
	dh_strip -pnxauth --dbg-package=nxauth-dbg