summaryrefslogtreecommitdiffstats
path: root/build
blob: 844e5e8a987c8846ff38a5ab2b8e38e3bfa1d6a7 (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
#!/usr/bin/make -f

include ../source.mk

builddir = obj_$$(printf '%s' $@ | sed 's/^[^_]*_//')
abi_ver = $$(printf '%s\n' '$(OPK_SOURCE_VERSION_UPSTREAM)' | sed 's/[.].*//')
legacy_abi_ver = $$(($(abi_ver) - 1))
common_opts = \
	--without-ada \
	--without-tests \
	--with-pkg-config-libdir='/usr/lib/$(OPK_HOST_ARCH)/pkgconfig' \
	--enable-pc-files \
	--with-install-prefix="$${PWD}/dest" \
	--with-shared \
	--with-cxx-shared \
	--with-debug \
	--without-profile \
	--with-termlib=tinfo \
	--with-ticlib=tic \
	--disable-termcap \
	--enable-symlinks \
	--enable-const
build_ncurses_opts = $(common_opts) \
	--enable-overwrite
build_ncursesw_opts = $(common_opts) \
	--includedir=/usr/include/ncursesw \
	--without-progs \
	--disable-overwrite \
	--enable-widec
build_ncurses_legacy_opts = $(build_ncurses_opts) \
	--with-install-prefix="$${PWD}/dest-legacy" \
	--with-abi-version=$(legacy_abi_ver)
build_ncursesw_legacy_opts = $(build_ncursesw_opts) \
	--with-install-prefix="$${PWD}/dest-legacy" \
	--with-abi-version=$(legacy_abi_ver)

nop:
	@:

build_ncurses build_ncursesw build_ncurses_legacy build_ncursesw_legacy:
	oh-autoconfigure -B $(builddir) -- $($@_opts)
	oh-autobuild -B $(builddir)
	touch $@

build: build_ncurses build_ncursesw build_ncurses_legacy build_ncursesw_legacy

install: build
	(cd obj_ncurses_legacy && make install.libs)
	(cd obj_ncursesw_legacy && make install.libs)
	(cd obj_ncurses && make install)
	(cd obj_ncursesw && make install.libs)
	rm dest*/usr/lib/$(OPK_HOST_ARCH)/*.a
	mv dest/usr/bin/clear dest/usr/bin/clear.ncurses
	mv dest/usr/bin/reset dest/usr/bin/reset.ncurses
	rm dest*/usr/bin/ncurses*-config
	rm dest/usr/share/man/man1/ncurses*-config.1
	@# Extract a few individual terminal type definitions.  This would be
	@# hard to do with oh-installfiles.
	@# terminfo-linux
	mkdir -p terminfo-linux.data/usr/lib/
	ln -sf ../share/terminfo terminfo-linux.data/usr/lib/terminfo
	mkdir -p terminfo-linux.data/usr/share/terminfo/l/
	mv dest/usr/share/terminfo/l/linux \
		terminfo-linux.data/usr/share/terminfo/l/linux
	oh-fixperms
	oh-strip -k
	OPK_PACKAGES="\
		$$(printf '%s\n' $${OPK_PACKAGES} | \
			grep -Ev "lib.*[.]$(legacy_abi_ver)(-dev)?") \
		" oh-installfiles
	OPK_PACKAGES="\
		$$(printf '%s\n' $${OPK_PACKAGES} | \
			grep -E "lib.*[.]$(legacy_abi_ver)(-dev)?") \
		" oh-installfiles -d dest-legacy
	oh-shlibdeps
	# Remove self-dependencies.
	set -e; for f in *.substvars; do p="$${f%.substvars}"; \
		mv "$${f}" "$${f}.orig"; \
		sed "s/ $${p},//" "$${f}.orig" >"$${f}"; \
	done