summaryrefslogtreecommitdiff
path: root/debian/rules
blob: bfbc6e2964b60e441c9a90824434cdab6837715e (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
138
139
140
141
142
143
144
#!/usr/bin/make -f
# Made with the aid of dh_make, by Craig Small
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Some lines taken from debmake, by Cristoph Lameter.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

, = ,
S = $(EMPTY) $(EMPTY)
mk_cslist = $(subst $(S),$(,)$(S),$(foreach v,$(1),$(v)-$(2)))
vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))
jrel = $(shell dpkg-parsechangelog | grep -E ^Version: | sed "s/Version: 0.//")

DPKG_VARS := $(shell dpkg-architecture)
DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)
DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)

p_jre		= gcj-jre
p_jhl		= gcj-jre-headless
p_jdk		= gcj-jdk
jdk_build_dep	=
v_jre		=
v_jdk		= $(v_jre)
provides	= java java2 java5
dversion	= 1:1.5-$(jrel)
jvmdir		= java-gcj

ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel armhf i386 ia64 lpia mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc sh4))
  p_jre		= openjdk-6-jre
  p_jhl		= openjdk-6-jre-headless
  p_jdk		= openjdk-6-jdk
  jdk_build_dep	= gcj-jdk
  v_jre		= $(S)(>= 6b23~pre8-2~)
  v_jdk		= $(v_jre)
  provides	= java java2 java5 java6
  dversion	= 1:1.6-$(jrel)
  jvmdir	= java-1.6.0-openjdk$(if $(DEB_HOST_MULTIARCH),-$(DEB_HOST_ARCH))
endif

p_doc		= openjdk-6-doc

jre_provides	= $(call mk_cslist,$(provides),runtime)
jhl_provides	= $(call mk_cslist,$(provides),runtime-headless)
jdk_provides	= $(call mk_cslist,$(provides),sdk)

build: build-arch
build-arch:
	# Do nothing :)

build-indep: build-stamp
build-stamp:
	dh_testdir

	$(MAKE)
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp install-stamp
	$(MAKE) clean

	dh_clean

install-indep: install-stamp
install-stamp: build-indep
	dh_testdir
	dh_testroot
	dh_prep -i
	dh_installdirs -i

	dh_installdocs -i
	$(MAKE) install DESTDIR=$(CURDIR)/debian/java-common

	touch install-stamp

install-arch: build-arch
	dh_testdir
	dh_testroot
	dh_prep -a


binary-arch: install-arch
ifneq (,$(p_jre))
	dh_testdir -a
	dh_testroot -a
	dh_install -a
	dh_installdocs -pdefault-jre-headless
	dh_installchangelogs -pdefault-jre-headless
	dh_link -pdefault-jre-headless \
		usr/lib/jvm/$(jvmdir) usr/lib/jvm/default-java
	for p in default-jre-headless default-jre default-jdk gcj-native-helper; do \
	  [ -z "$$t" ] && t=$$p && continue; \
	  mkdir -p debian/$$p/usr/share/doc; \
	  ln -sf $$t debian/$$p/usr/share/doc/$$p; \
	  t=$$p; \
	done
	dh_lintian -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_gencontrol -a -- \
		-v$(dversion) \
		'-Vjre=$(p_jre)' \
		'-Vjhl=$(p_jhl)' \
		'-Vjdk=$(p_jdk)' \
		'-Vjdk:builddep=$(jdk_build_dep)' \
		'-Vjre:arch=$(DEB_HOST_ARCH)' \
		'-Vjre:version=$(v_jre)' \
		'-Vjdk:version=$(v_jdk)' \
		'-Vjre:provides=$(jre_provides)' \
		'-Vjhl:provides=$(jhl_provides)' \
		'-Vjdk:provides=$(jdk_provides)' \

	dh_md5sums -a
	dh_builddeb -a
endif

# Build architecture-independent files here.
binary-indep: build-indep install-indep
	dh_testdir -i
	dh_testroot -i
	dh_install -i
	mkdir -p debian/default-jdk-doc/usr/share/doc/default-jre-headless
	ln -sf ../$(p_doc)/api debian/default-jdk-doc/usr/share/doc/default-jre-headless/api
	ln -sf ../$(p_doc)/api debian/default-jdk-doc/usr/share/doc/default-jdk-doc/api
	dh_installexamples -i
	dh_installmenu -i
	dh_installman -i
	dh_installchangelogs -i
	dh_link -i
	dh_lintian -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i -- \
		'-Vdoc=$(p_doc)' \
		'-Vjdk=$(p_jdk)'
	dh_md5sums -i
	dh_builddeb -i

binary: binary-indep binary-arch
.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install configure