File: rules

package info (click to toggle)
mrxvt 0.5.4-2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 3,056 kB
  • ctags: 3,446
  • sloc: ansic: 30,620; sh: 3,345; makefile: 294; perl: 198
file content (123 lines) | stat: -rwxr-xr-x 3,767 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/usr/bin/make -f

DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

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

BUILDDIR = $(CURDIR)/debian/build
VARIANTS = mrxvt mrxvt-cjk mrxvt-mini

CFG1 += --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
CFG1 += --prefix=/usr --with-max-profiles=10
CFG1 += --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
CFG1 += --sysconfdir=/etc
CFG1 += --with-x
CFG1 += --x-includes=/usr/X11R6/include
CFG1 += --x-libraries=/usr/X11R6/lib

CFG2 += --disable-debug
CFG2 += --disable-utmp --disable-wtmp --disable-lastlog

CFG_mrxvt += --enable-everything --disable-ourstrings
CFG_mrxvt-cjk += --enable-minimal --enable-cjk --enable-xim
CFG_mrxvt-mini += --enable-minimal

CONFIG_mrxvt = $(CFG1) $(CFG_mrxvt) $(CFG2) --program-suffix=-full
CONFIG_mrxvt-cjk = $(CFG1) $(CFG_mrxvt-cjk) $(CFG2) --program-suffix=-cjk
CONFIG_mrxvt-mini = $(CFG1) $(CFG_mrxvt-mini) $(CFG2) --program-suffix=-mini

clean: $(foreach v,$(VARIANTS),clean-$(v))
	rm -f build-stamp* install-stamp* configure-stamp
	rm -rf $(BUILDDIR)
	find . -name config.sub -or -name config.guess -or -name Makefile.in | xargs rm -f
	rm -f missing aclocal.m4 install-sh config.h.in configure compile
	dh_clean 

clean-%:
	for x in links menu postinst preinst prerm; do \
		rm -f debian/$(*).$$x; \
	done

configure: configure-stamp
configure-stamp:
	dh_prep
	cp /usr/share/misc/config.sub /usr/share/misc/config.guess .
	chmod 0755 bootstrap.sh
	./bootstrap.sh
	touch $@
	
build-arch: build
build-indep: build
build: configure build-stamp
build-stamp: $(foreach v,$(VARIANTS),build-stamp-$(v))
	touch $@

build-stamp-%:
	mkdir -p $(BUILDDIR)/$(*)
	cd $(BUILDDIR)/$(*) && ../../../configure \
		$(CONFIG_$(*)) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)"
	$(MAKE) -C $(BUILDDIR)/$(*)
	touch $@

install: build install-stamp
install-stamp: $(foreach v,$(VARIANTS),install-stamp-$(v))
	touch $@

install-stamp-%:
	$(MAKE) -C $(BUILDDIR)/$(*) install DESTDIR=$(CURDIR)/debian/$(*)
	rm -rf $(CURDIR)/debian/$(*)/usr/share
	ext=$(*); ext=$${ext#mrxvt}; test -n "$$ext" || ext=-full; \
	case "$(*)" in \
		mrxvt-mini) rank=10; xrank=8;; \
		mrxvt-cjk) rank=20; xrank=9;; \
		mrxvt) rank=30; xrank=10;; \
	esac; \
	for x in links menu postinst preinst prerm; do \
		sed -e s/%PKG%/$(*)/ -e s/%EXT%/$$ext/ \
		-e s/%RANK%/$$rank/ -e s/%XRANK%/$$xrank/ \
		debian/mrxvt-variant.$$x >debian/$(*).$$x; \
	done
	rm -rf debian/mrxvt/etc debian/mrxvt-mini/etc debian/mrxvt-cjk/etc
	touch $@

binary-indep:
	dh_installchangelogs -i ChangeLog
	dh_installdocs -i
	dh_installman -i doc/mrxvt.1
	dh_install -i
	for F in $$(echo debian/mrxvt-common/usr/share/doc/mrxvt-common/*bz2); do bunzip2 -f "$$F"; done
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_shlibdeps -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build install
	dh_installmenu -a
	dh_link -a
	dh_compress -a
	dh_strip -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch

get-orig-tarball:
	mkdir -p debian/.tmp
	cd debian/.tmp; \
	  svn export https://materm.svn.sourceforge.net/svnroot/materm/mrxvt05b; \
	  HEADREV=`svn info https://materm.svn.sourceforge.net/svnroot/materm/mrxvt05b | awk '/^Revision:/ { print $$2; }'`; \
	  mv mrxvt05b mrxvt-0.5.2+svn$$HEADREV; \
	  tar czf mrxvt_0.5.2+svn$$HEADREV.orig.tar.gz mrxvt-0.5.2+svn$$HEADREV; \
	cd ../..; # rm -rf debian/.tmp

.PHONY: clean configure build build-arch build-indep install binary-indep binary-arch binary get-orig-tarball