File: rules

package info (click to toggle)
yaws 1.65-4etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 4,164 kB
  • ctags: 3,907
  • sloc: erlang: 20,138; sh: 3,675; makefile: 556; ansic: 404; lisp: 79
file content (192 lines) | stat: -rwxr-xr-x 5,373 bytes parent folder | download | duplicates (2)
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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


# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

-include vsn.mk

unpatch:
	dpatch deapply-all
patch:
	dpatch apply-all

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	TYPE = debug
endif

config.status: configure
	dh_testdir
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS)" \
	./configure --host=$(DEB_HOST_GNU_TYPE) \
		    --build=$(DEB_BUILD_GNU_TYPE) \
		    --prefix=/usr --mandir=\$${prefix}/share/man \
		    --infodir=\$${prefix}/share/info \
		    --sysconfdir=/etc/yaws \
		    --localstatedir=/var
	ln -s . yaws

build: build-stamp

build-stamp:  config.status
	dh_testdir

	# Add here commands to compile the package.
	TYPE="$(TYPE)" $(MAKE) DLL_LIBS=-lc

	# Build applications included into yaws distribution
	for appdir in applications/* ; do \
	    (cd $$appdir ; mkdir ebin ; TYPE="$(TYPE)" $(MAKE)) \
	done

	# This requires latex2html...
	#$(MAKE) docs
	#docbook-to-man debian/yaws.sgml > yaws.1

	touch build-stamp

clean: 
	dh_testdir
	dh_testroot
	rm -f build-stamp 

	# Add here commands to clean up after the build process.
	-$(MAKE) clean
	-rm -f config.log config.status yaws erl_crash.dump \
		scripts/yaws.conf include.mk

	dpatch apply-all

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Add here commands to install the package into debian/yaws.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/yaws

	# Install applications (and READMEs) included into yaws distribution
	# Application beams go to /usr/lib/yaws
	# Other application files go to /var/www/yaws-applications
	for appdir in applications/* ; do \
	    (cd $$appdir ; \
	     $(MAKE) install DESTDIR=$(CURDIR)/debian/yaws \
	     		     EBININSTALLDIR=$(CURDIR)/debian/yaws/usr/lib/yaws/`basename $$appdir`/ebin \
	     		     CHATINSTALLDIR=$(CURDIR)/debian/yaws/usr/lib/yaws/chat/priv/docroot \
	     		     MAILINSTALLDIR=$(CURDIR)/debian/yaws/usr/lib/yaws/mail/priv/docroot \
	     		     WIKIINSTALLDIR=$(CURDIR)/debian/yaws/usr/lib/yaws/wiki/priv/docroot ; \
	     cp README $(CURDIR)/debian/yaws/usr/share/doc/yaws/README.`basename $$appdir`) \
	done

	# Fix permissions of application files
	find $(CURDIR)/debian/yaws/usr/lib/yaws -type f -exec chmod a-x \{\} \;

	# The default config sets up too many vhosts
	cp $(CURDIR)/debian/yaws.conf $(CURDIR)/debian/yaws/etc/yaws

	# Fix permissions on examples
	chmod a-x $(CURDIR)/debian/yaws/var/yaws/www/testdir/index.html

	# Remove init script shipped with yaws
	rm -rf $(CURDIR)/debian/yaws/etc/yaws/init.d

	# Remove errant .xvpics directory
	rm -rf $(CURDIR)/debian/yaws/var/yaws/www/.xvpics

	# Remove duplicated headers
	rm -f $(CURDIR)/debian/yaws/usr/lib/erlang/lib/yaws-$(YAWS_VSN)/*.hrl

	# Remove useless empty files
	find $(CURDIR)/debian/yaws -type f -name '.*' -print -exec rm -f \{\} \;

	# Remove SSL certificates
	rm -f $(CURDIR)/debian/yaws/etc/yaws/*.pem

	# Move /var/yaws into the examples directory
	mkdir -p $(CURDIR)/debian/yaws/usr/share/doc/yaws/examples
	mv $(CURDIR)/debian/yaws/var/yaws/* \
		$(CURDIR)/debian/yaws/usr/share/doc/yaws/examples
	rmdir $(CURDIR)/debian/yaws/var/yaws

	# Copy in a default index.html
	cp $(CURDIR)/debian/yaws.html \
		$(CURDIR)/debian/yaws/var/www/yaws-default/index.html

	# Copy yaws logo to web directory
	cp $(CURDIR)/debian/yaws/usr/share/doc/yaws/examples/www/icons/yaws.gif \
		$(CURDIR)/debian/yaws/var/www/yaws-default/

	# Install lintian override file
	mkdir -p $(CURDIR)/debian/yaws/usr/share/lintian/overrides
	cp $(CURDIR)/debian/yaws.lintian-override \
	   $(CURDIR)/debian/yaws/usr/share/lintian/overrides/yaws

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_installexamples
#	dh_install
#	dh_installmenu
#	dh_installdebconf	
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress -X.beam -X.yaws -X.pdf
	dh_fixperms
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps

	grep-status -s Version -PX erlang-dev | sed -e's!^Version: \(.*\)!erlang:Version=\1!' >> debian/yaws.substvars

	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch

get-orig-source:
	wget -O - http://yaws.hyber.org/download/yaws-1.65.tar.gz | tar zx
	tar zcf yaws_1.65.orig.tar.gz yaws-1.65
	rm -r yaws yaws-1.65

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