File: rules

package info (click to toggle)
matrixssl 1.7.3-1.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 404 kB
  • ctags: 16
  • sloc: makefile: 142; sh: 2
file content (164 lines) | stat: -rwxr-xr-x 6,314 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
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
#!/usr/bin/make -f

DFLAGS =-Wall -g -O2
DFLAGSSO =-Wall -g -O2 -fPIC
DFLAGSDIET =-Wall

TARGZ =matrixssl-1-7-3-open.tar.gz
SOVER =1.7
SOREV =1.7.3

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
  DFLAGS += -g -DDEBUG
endif
STRIP =strip
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP =: nostrip
endif

build =build-gnu-stamp
install =install-gnu
DIET_ARCHS =alpha amd64 arm hppa i386 ia64 mips mipsel powerpc ppc64 s390 sparc
ARCH ?=$(shell dpkg-architecture -qDEB_HOST_ARCH)
ifneq (,$(findstring $(ARCH),$(DIET_ARCHS)))
  build =build-gnu-stamp build-diet-stamp
  install =install-gnu install-diet
endif

DIR =$(shell pwd)/debian/libmatrixssl$(SOVER)

unpack: deb-checkdir unpack-gnu-stamp unpack-diet-stamp
unpack-gnu-stamp:
	mkdir -p gnu/static gnu/shared
	(cd gnu/static && tar xzf -) <'$(TARGZ)'
	(cd gnu/shared && tar xzf -) <'$(TARGZ)'
	(cd gnu/static/matrixssl && patch -p0) <debian/diff/include-asm.diff
	(cd gnu/shared/matrixssl && patch -p0) <debian/diff/include-asm.diff
	touch unpack-gnu-stamp
unpack-diet-stamp:
	mkdir -p diet
	(cd diet && tar xzf -) <'$(TARGZ)'
	(cd diet/matrixssl && patch -p0) <debian/diff/diet-nopthread.diff
	(cd diet/matrixssl && patch -p0) <debian/diff/include-asm.diff
	touch unpack-diet-stamp

build: deb-checkdir $(build)
build-gnu-stamp: unpack-gnu-stamp
	-gcc -v
	$(MAKE) -Cgnu/static/matrixssl/src libmatrixssl.a \
	  STATIC=libmatrixssl.a DFLAGS='$(DFLAGS)'
	$(MAKE) -Cgnu/static/matrixssl/examples LDFLAGS='-lpthread' SO=.a \
	  DFLAGS='$(DFLAGS)'
	$(MAKE) -Cgnu/shared/matrixssl/src libmatrixssl.so \
	  DFLAGS='$(DFLAGSSO)' STRIP=': nostrip' \
	  LDFLAGS='-Wl,-soname,libmatrixssl.so."$(SOVER)" -lc -lgcc -lpthread'
	$(MAKE) -Cgnu/shared/matrixssl/examples \
	  LDFLAGS='-L../src -lmatrixssl' LIBRARIES='' DFLAGS='$(DFLAGSSO)'
	touch build-gnu-stamp
build-diet-stamp: unpack-diet-stamp
	-gcc -v
	$(MAKE) -Cdiet/matrixssl/src libmatrixssl.a STATIC=libmatrixssl.a \
	  CC='diet -v -Os gcc' DFLAGS='$(DFLAGSDIET) -nostdinc'
	$(MAKE) -Cdiet/matrixssl/examples LDFLAGS='' SO=.a \
	  CC='diet -v -Os gcc' DFLAGS='$(DFLAGSDIET) -nostdinc'
	touch build-diet-stamp

clean: deb-checkdir deb-checkuid
	rm -rf gnu diet examples
	rm -f unpack-gnu-stamp unpack-diet-stamp build-gnu-stamp \
	  build-diet-stamp
	rm -rf '$(DIR)' '$(DIR)'-dev '$(DIR)'-doc
	rm -f debian/files debian/substvars changelog

install: install-indep install-arch
install-indep: deb-checkdir deb-checkuid unpack-gnu-stamp
	rm -rf '$(DIR)'-doc
	install -d -m0755 '$(DIR)'-doc
	rm -rf examples
	cp -pr gnu/static/matrixssl/examples .
	$(MAKE) -Cexamples clean
	# no upstream changelog
	rm -f changelog && cp /dev/null changelog

install-arch: deb-checkdir deb-checkuid $(install)
install-gnu: build-gnu-stamp
	rm -rf '$(DIR)' '$(DIR)'-dev
	# libmatrixssl1
	install -d -m0755 '$(DIR)'/usr/lib
	install -m0644 gnu/shared/matrixssl/src/libmatrixssl.so \
	  '$(DIR)'/usr/lib/libmatrixssl.so.'$(SOREV)'
	$(STRIP)  -R .note -R .comment --strip-unneeded \
	  '$(DIR)'/usr/lib/libmatrixssl.so.'$(SOREV)'
	ln -s libmatrixssl.so.'$(SOREV)' \
	  '$(DIR)'/usr/lib/libmatrixssl.so.'$(SOVER)'
	echo 'libmatrixssl $(SOVER) libmatrixssl$(SOVER)' \
	  >debian/libmatrixssl'$(SOVER)'.shlibs
	# libmatrixssl1-dev
	install -d -m0755 '$(DIR)'-dev/usr/lib/matrixssl
	ln -s libmatrixssl.so.'$(SOVER)' '$(DIR)'-dev/usr/lib/libmatrixssl.so
	install -m0755 gnu/shared/matrixssl/examples/httpsReflector \
	  '$(DIR)'-dev/usr/lib/matrixssl/httpsReflector.shared
	install -m0755 gnu/shared/matrixssl/examples/httpsClient \
	  '$(DIR)'-dev/usr/lib/matrixssl/httpsClient.shared
	install -m0644 gnu/static/matrixssl/src/libmatrixssl.a \
	  '$(DIR)'-dev/usr/lib/
	$(STRIP) --strip-debug '$(DIR)'-dev/usr/lib/libmatrixssl.a
	install -m0755 gnu/static/matrixssl/examples/httpsReflector \
	  '$(DIR)'-dev/usr/lib/matrixssl/httpsReflector
	install -m0755 gnu/static/matrixssl/examples/httpsClient \
	  '$(DIR)'-dev/usr/lib/matrixssl/httpsClient
	$(STRIP) -R .comment -R .note '$(DIR)'-dev/usr/lib/matrixssl/*
	install -d -m0755 '$(DIR)'-dev/usr/include
	sed -e 's}#include "matrixCommon.h"}#include <matrixCommon.h>}' \
	  <gnu/shared/matrixssl/matrixSsl.h \
	  >'$(DIR)'-dev/usr/include/matrixSsl.h
	chmod 644 '$(DIR)'-dev/usr/include/matrixSsl.h
	sed -e 's}#include "src/matrixConfig.h"}#include <matrixConfig.h>}' \
	  <gnu/shared/matrixssl/matrixCommon.h \
	  >'$(DIR)'-dev/usr/include/matrixCommon.h
	chmod 644 '$(DIR)'-dev/usr/include/matrixCommon.h
	install -m0644 gnu/shared/matrixssl/src/matrixConfig.h \
	  '$(DIR)'-dev/usr/include/
	# no upstream changelog
	rm -f changelog && cp /dev/null changelog
install-diet: build-diet-stamp install-gnu
	# libmatrixssl1-dev
	install -d -m0755 '$(DIR)'-dev/usr/lib/diet/lib
	install -m0644 diet/matrixssl/src/libmatrixssl.a \
	  '$(DIR)'-dev/usr/lib/diet/lib/
	$(STRIP) --strip-debug '$(DIR)'-dev/usr/lib/diet/lib/*.a
	install -m0755 diet/matrixssl/examples/httpsReflector \
	  '$(DIR)'-dev/usr/lib/matrixssl/httpsReflector.diet
	install -m0755 diet/matrixssl/examples/httpsClient \
	  '$(DIR)'-dev/usr/lib/matrixssl/httpsClient.diet
	$(STRIP) -R .comment -R .note '$(DIR)'-dev/usr/lib/matrixssl/*.diet
	install -d -m0755 '$(DIR)'-dev/usr/include/diet
	ln -s ../matrixSsl.h '$(DIR)'-dev/usr/include/diet/
	ln -s ../matrixCommon.h '$(DIR)'-dev/usr/include/diet/
	sed -e 's}#include "src/matrixConfig.h"}#include <matrixConfig.h>}' \
	  <diet/matrixssl/matrixCommon.h \
	  >'$(DIR)'-dev/usr/include/diet/matrixCommon.h
	chmod 644 '$(DIR)'-dev/usr/include/diet/matrixCommon.h
	install -m0644 gnu/shared/matrixssl/src/matrixConfig.h \
	  '$(DIR)'-dev/usr/include/diet/
	# no upstream changelog
	rm -f changelog && cp /dev/null changelog

binary-indep: install-indep libmatrixssl'$(SOVER)'-doc.deb
	dpkg-gencontrol -isp -plibmatrixssl'$(SOVER)'-doc -P'$(DIR)'-doc
	dpkg -b '$(DIR)'-doc ..

binary-arch: install-arch libmatrixssl'$(SOVER)'.deb \
	  libmatrixssl'$(SOVER)'-dev.deb
	dpkg-shlibdeps '$(DIR)'/usr/lib/libmatrixssl.so.*
	dpkg-gencontrol -isp -plibmatrixssl'$(SOVER)' -P'$(DIR)'
	dpkg -b '$(DIR)' ..
	dpkg-gencontrol -isp -plibmatrixssl'$(SOVER)'-dev -P'$(DIR)'-dev
	dpkg -b '$(DIR)'-dev ..

binary: binary-indep binary-arch

.PHONY: unpack build clean binary-indep binary-arch binary install-indep \
	  install-arch install-gnu install-diet install

include debian/implicit