File: rules

package info (click to toggle)
f2c 19971204-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,560 kB
  • ctags: 2,345
  • sloc: ansic: 25,433; sh: 177; makefile: 150
file content (124 lines) | stat: -rwxr-xr-x 3,547 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
#!/usr/bin/make -f
#   -*- mode: makefile; -*-

# debian.rules file - for f2c, libraries, header file, etc.


package=f2c

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

## Chose which options to use depending upon
## whether or not target is i386

ifeq ($(arch),i386) 
   GCCOPT=$(GCCOP2)
else 
   GCCOPT=$(GCCOP1)
endif

build:
	$(checkdir)
	$(MAKE) -C "./src" CFLAGS="$(GCCOP1)" xsum

## Avoid using -mieee-fp on anything other than the i386 platform
## as it is a gcc i386 specific option

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

	$(MAKE) -C "./src" CFLAGS="$(GCCOPT)" ;\

	sh libi77 
	sh libf77
## 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) -C src clean
	rm -rf libF77 libI77
	rm -f libf2c* *.tmp __*
	cd src && rm -f xsum xsum1.out xsum.out; $(MAKE) -i clean
	rm -f hello hello.o hello.c verify.out hello.P
	rm -f build build_f2c build_f2c_i2
	rm -rf debian/tmp *~

binary-indep:	checkroot build
${checkdir}


binary-arch: checkroot 
	rm -rf debian/tmp
	install -d debian/tmp debian/tmp/DEBIAN
	install -d debian/tmp/usr/doc/${package}
	cp debian/shlibs debian/tmp/DEBIAN/shlibs
	install -d -m 0755             debian/tmp/usr/bin
	install -s -m 0755 src/f2c     debian/tmp/usr/bin/f2c
	install -c -m 0755 fc          debian/tmp/usr/bin/fc
	install -d -m 0755             debian/tmp/usr/man/man1
	install -c -m 0644 fc.1        debian/tmp/usr/man/man1/fc.1
	install -c -m 0644 src/f2c.1t  debian/tmp/usr/man/man1/f2c.1
	gzip -9v debian/tmp/usr/man/man1/f2c.1
	install -d -m 0755             debian/tmp/usr/lib
	install -c -m 0644 libf2c.a    debian/tmp/usr/lib/libf2c.a
	install -c -m 0644 libf2c_i2.a debian/tmp/usr/lib/libf2c_i2.a
	install -d -m 0755             debian/tmp/usr/include
	install -c -m 0644 src/f2c.h   debian/tmp/usr/include/f2c.h
	install -c -m 0644 libf2c.so.$(flibver) \
			            debian/tmp/usr/lib/libf2c.so.$(flibver)
	install -c -m 0644 libf2c_i2.so.$(flibver) \
		                    debian/tmp/usr/lib/libf2c_i2.so.$(flibver)

	(cd debian/tmp/usr/lib; ln -s libf2c.so.$(flibver) libf2c.so.$(flibmajorver); \
	ln -s libf2c_i2.so.$(flibver) libf2c_i2.so.$(flibmajorver) )

	install -d -m 0755             debian/tmp/usr/doc/$(package)
	install -c -m 0644 f2c.ps      debian/tmp/usr/doc/$(package)
	install -c -m 0644 changes     debian/tmp/usr/doc/$(package)
	install -c -m 0644 readme      debian/tmp/usr/doc/$(package)
	install -c -m 0644 debian/changelog \
                                    debian/tmp/usr/doc/f2c/changelog.Debian
	(cd debian/tmp/usr/doc/$(package); gzip -9v *)
	install -c -m 0644 debian/copyright \
			            debian/tmp/usr/doc/f2c/copyright
	dpkg-shlibdeps ./src/f2c
	dpkg-gencontrol
	chown -R root.root debian/tmp
	chmod -R go-ws debian/tmp
	dpkg --build debian/tmp  ..

## Below Here is Generic

define checkdir
	test -f ./src/$(package).1t
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