File: rules

package info (click to toggle)
libf2c2 20050501-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,044 kB
  • ctags: 1,277
  • sloc: ansic: 10,198; makefile: 273; sh: 8
file content (155 lines) | stat: -rwxr-xr-x 4,994 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
#!/usr/bin/make -f
#   -*- mode: makefile; -*-

# debian.rules file - for libf2c


package=libf2c2
package-dev=libf2c2-dev
prefix-dev=debian/libf2c2-dev
prefix=debian/libf2c2

arch=$(shell dpkg --print-architecture)
dir=$(package)-$(version)
file=$(package)_$(version)-$(debian)
flibmajorver=2
flibver=2.1


# Optimization options.
GCCOP2=-ansi -O2 -fomit-frame-pointer -mieee-fp -D_POSIX_SOURCE -DDEBIAN
GCCOP1=-ansi -O2 -fomit-frame-pointer -D_POSIX_SOURCE -DDEBIAN

## Avoid using -mieee-fp on anything other than the i386 platform
## as it is a gcc i386 specific option
ifeq ($(arch),i386) 
   GCCOPT=$(GCCOP2)
else 
   GCCOPT=$(GCCOP1)
endif

build:
	$(checkdir)


        
	if [ $(arch) == "i386" ] ;\
           then echo "Building for i386" ;\
        fi

#alpha long makes extra-long which is incompatible 
#with other fortran systems on alpha
	if [ $(arch) == "alpha" ] ;\
           then echo "Building for ALPHA" ;\
	   sed 's/long //' f2c.h > f2c.install.h ;\
	else \
	 	cp f2c.h f2c.install.h ;\
	fi

## These take gcc options from GCCOPT 
	$(MAKE) -f ./debian/make_lib INTSIZE=f2c
	$(MAKE) -f ./debian/make_lib INTSIZE=f2c_i2
	strip libf2c.so.2.1
	strip libf2c_i2.so.2.1
	touch build

clean:
	$(checkdir)
	$(MAKE) -f ./debian/make_lib clean
	rm -f libf2c* *.tmp __* *~
	rm -f build build_f2c build_f2c_i2
	rm -rf debian/libf2c2-dev 
	rm -rf debian/libf2c2
	rm -rf debian/*~ debian/files* debian/substvars.*

binary-indep:	checkroot build
	${checkdir}


binary-arch: checkroot 
	rm -rf debian/libf2c-dev
	rm -rf debian/libf2c
	install -d ${prefix} ${prefix}/DEBIAN
	install -d ${prefix-dev} ${prefix-dev}/DEBIAN
	install -d ${prefix}/usr/share/doc/${package}
	install -d ${prefix-dev}/usr/share/doc/${package-dev}

	install -c -m 0644 debian/shlibs.libf2c2 ${prefix}/DEBIAN/shlibs

	install -c -m 0755 debian/postinst ${prefix}/DEBIAN
	install -c -m 0755 debian/postrm ${prefix}/DEBIAN

	install -d -m 0755             ${prefix-dev}/usr/lib
	install -d -m 0755             ${prefix}/usr/lib
# static libraries in -dev package
	install -c -m 0644 libf2c.a    ${prefix-dev}/usr/lib/libf2c.a
	install -c -m 0644 libf2c_i2.a ${prefix-dev}/usr/lib/libf2c_i2.a
	install -d -m 0755             ${prefix-dev}/usr/include
	install -c -m 0644 f2c.install.h   ${prefix-dev}/usr/include/f2c.h

# shared libs in shared lib package
	install -s -c -m 0644 libf2c.so.$(flibver) \
			            ${prefix}/usr/lib/libf2c.so.$(flibver)
	install -s -c -m 0644 libf2c_i2.so.$(flibver) \
		                    ${prefix}/usr/lib/libf2c_i2.so.$(flibver)

	(cd ${prefix}/usr/lib; ln -s libf2c.so.$(flibver) libf2c.so.$(flibmajorver); \
	ln -s libf2c_i2.so.$(flibver) libf2c_i2.so.$(flibmajorver) )

	(cd ${prefix-dev}/usr/lib; ln -sf libf2c.so.$(flibver) libf2c.so; \
	ln -s libf2c_i2.so.$(flibver) libf2c_i2.so )

	install -d -m 0755             ${prefix-dev}/usr/share/doc/$(package-dev)
	install -d -m 0755             ${prefix}/usr/share/doc/$(package)
	install -c -m 0644 changes     ${prefix}/usr/share/doc/$(package)/changelog
	install -c -m 0644 changes     ${prefix-dev}/usr/share/doc/$(package-dev)/changelog
	install -c -m 0644 libF77/README      ${prefix}/usr/share/doc/$(package)/libF77README
	install -c -m 0644 libI77/README      ${prefix}/usr/share/doc/$(package)/libI77README
	install -c -m 0644 libF77/README      ${prefix-dev}/usr/share/doc/$(package-dev)/libF77README
	install -c -m 0644 libI77/README      ${prefix-dev}/usr/share/doc/$(package-dev)/libI77README
	install -c -m 0644 debian/changelog \
                                    ${prefix-dev}/usr/share/doc/$(package-dev)/changelog.Debian
	install -c -m 0644 debian/changelog \
                                    ${prefix}/usr/share/doc/$(package)/changelog.Debian
	install -c -m 0644 debian/README.debian  \
				    ${prefix-dev}/usr/share/doc/$(package-dev)/README.debian
	install -c -m 0644 debian/README.debian  \
				    ${prefix}/usr/share/doc/$(package)/README.debian
	(cd ${prefix}/usr/share/doc/$(package); gzip -9v *)
	(cd ${prefix-dev}/usr/share/doc/$(package-dev); gzip -9v *)
	install -c -m 0644 debian/copyright \
			            ${prefix-dev}/usr/share/doc/$(package-dev)/copyright
	install -c -m 0644 debian/copyright \
			            ${prefix}/usr/share/doc/$(package)/copyright


	dpkg-shlibdeps -Tdebian/substvars.libf2c2 debian/libf2c2/usr/lib/*
	dpkg-gencontrol -isp -plibf2c2-dev -Pdebian/libf2c2-dev 
	dpkg-gencontrol -isp -plibf2c2 -Pdebian/libf2c2 -Tdebian/substvars.libf2c2
	chown -R root.root ${prefix-dev}
	chown -R root.root ${prefix}
	chmod -R go-ws ${prefix-dev}
	chmod -R go-ws ${prefix}
	dpkg --build ${prefix-dev}  ..
	dpkg --build ${prefix}  ..


## Below Here is Generic

define checkdir
	test -f ./libF77/libF77.xsum
endef

binary:	binary-indep binary-arch

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

dist:  binary source diff changes     

checkroot:
	$(checkdir)
	test root = "`whoami`"

.PHONY: binary source diff clean checkroot changes dist