File: rules

package info (click to toggle)
binutils-m68k-linux 2.9.1.0.12-1
  • links: PTS
  • area: main
  • in suites: potato, slink
  • size: 29,636 kB
  • ctags: 40,213
  • sloc: ansic: 360,171; asm: 20,244; exp: 9,325; sh: 7,087; makefile: 5,430; yacc: 4,600; lisp: 2,991; lex: 1,426; sed: 544; cpp: 206; awk: 24; perl: 16
file content (143 lines) | stat: -rwxr-xr-x 5,849 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
#!/usr/bin/make -f
# Build rules for GNU binutils (2.8.1)
# Based heavily on Ian Jackson's sample rules file for GNU hello
# Copyright 1994,1995 by Ian Jackson.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself.  (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)

package=binutils-m68k-linux
#VER = $(shell sed -e 's/[^0-9]*\([0-9.]*\).*/\1/' bfd/VERSION)
VER=2.9.1.0.12

CFLAGS = -O2 -g
LDFLAGS = -s

ARCH = $(shell dpkg --print-gnu-build-architecture)

build:
	$(checkdir)
	sed -e 's/=SONAME/$(VER)/g' < debian/shlibs.in > debian/shlibs
	cp debian/shlibs debian/shlibs.local
	./configure --enable-shared --target=m68k-linux --prefix=/usr $(ARCH)-linux
# Patch the generated libtool to avoid passing -rpath when linking,
# and to explicitly link libraries against the libraries they
# depend on.
	for i in bfd binutils gas ld opcodes; do \
	(cd $$i && \
	sed < libtool > libtool-2 \
	-e 's/^hardcode_libdir_flag_spec.*$$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/' \
	-e '/^archive_cmds="/s/"$$/ \\$$deplibs"/' && \
	mv libtool-2 libtool && \
	chmod 755 libtool) ; \
	done 

	$(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
	touch build

clean:
	$(checkdir)
	sed -e 's/=SONAME/$(VER)/g' < debian/shlibs.in > debian/shlibs
	cp debian/shlibs debian/shlibs.local
	-rm -f build
# The Makefile.in trick dosen't work anymore, since the makefile structure
# has gone recursive.  If Makefile dosen't exist, it's probably clean anyway.
	-$(MAKE) -i distclean
	-rm -rf bfd/libm68k-linux-bfd.so.$(VER) opcodes/libm68k-linux-opcodes.so.$(VER) mh-frag mt-frag gas/config/m68k-parse.c
	-rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars* debian/shlibs debian/shlibs.local

binary-indep:   checkroot build
	$(checkdir)
# There are no architecture-independent files to be uploaded
# generated by this package.  If there were any they would be
# made here.

binary-arch:    checkroot build
	$(checkdir)
	-rm -rf debian/tmp 
	install -d debian/tmp/binutils/DEBIAN
	install -d debian/tmp/binutils/usr/doc/$(package)
	cp debian/postinst debian/tmp/binutils/DEBIAN/.
	chmod +x debian/tmp/binutils/DEBIAN/postinst
	cp debian/shlibs debian/tmp/binutils/DEBIAN/.
	chmod +x install-sh
	$(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
		prefix=`pwd`/debian/tmp/binutils/usr install
	# Fix links in usr/m68k-linux/bin
	rm -rf debian/tmp/binutils/usr/m68k-linux/bin/ar
	ln -s ../../bin/m68k-linux-ar debian/tmp/binutils/usr/m68k-linux/bin/ar
	rm -rf debian/tmp/binutils/usr/m68k-linux/bin/as
	ln -s ../../bin/m68k-linux-as debian/tmp/binutils/usr/m68k-linux/bin/as
	rm -rf debian/tmp/binutils/usr/m68k-linux/bin/ld
	ln -s ../../bin/m68k-linux-ld debian/tmp/binutils/usr/m68k-linux/bin/ld
	rm -rf debian/tmp/binutils/usr/m68k-linux/bin/nm
	ln -s ../../bin/m68k-linux-nm debian/tmp/binutils/usr/m68k-linux/bin/nm
	rm -rf debian/tmp/binutils/usr/m68k-linux/bin/ranlib
	ln -s ../../bin/m68k-linux-ranlib debian/tmp/binutils/usr/m68k-linux/bin/ranlib
	rm -rf debian/tmp/binutils/usr/m68k-linux/bin/strip
	ln -s ../../bin/m68k-linux-strip debian/tmp/binutils/usr/m68k-linux/bin/strip
	# We don't need to distribute everything
	rm -rf debian/tmp/binutils/usr/lib/libiberty.a
	rm -rf debian/tmp/binutils/usr/lib/libbfd.a
	rm -rf debian/tmp/binutils/usr/lib/libopcodes.a
	rm -rf debian/tmp/binutils/usr/lib/libbfd.la
	rm -rf debian/tmp/binutils/usr/lib/libopcodes.la
	rm -rf debian/tmp/binutils/usr/lib/libbfd.so
	rm -rf debian/tmp/binutils/usr/lib/libopcodes.so
	rm -rf debian/tmp/binutils/usr/include/ansidecl.h
	rm -rf debian/tmp/binutils/usr/include/bfd.h
	rm -rf debian/tmp/binutils/usr/include/bfdlink.h
	rmdir debian/tmp/binutils/usr/include
	# Manpages shouldn't be executable
	chmod -x debian/tmp/binutils/usr/man/man1/*
	# Remove manpages
	#rm -rf debian/tmp/binutils/usr/man
	rm -f debian/tmp/binutils/usr/man/man1/*
	for i in debian/tmp/binutils/usr/bin/*; do \
	( cd debian/tmp/binutils/usr/man/man1 && \
	ln -s $$(basename $$(echo $$i | sed -e 's/m68k-linux-//' -))".1.gz" $$(basename $$i)".1.gz") ; \
	done
	# We can strip shared libraries
	strip --strip-unneeded debian/tmp/binutils/usr/lib/libbfd-$(VER).so.0
	strip --strip-unneeded debian/tmp/binutils/usr/lib/libopcodes-$(VER).so.0
	# Shared libs mode 0644
	chmod 0644 debian/tmp/binutils/usr/lib/libbfd-$(VER).so.0
	chmod 0644 debian/tmp/binutils/usr/lib/libopcodes-$(VER).so.0
	# Standard boilerplate
	cp debian/copyright debian/tmp/binutils/usr/doc/$(package)/.
	cp debian/changelog debian/tmp/binutils/usr/doc/$(package)/changelog.Debian
	cp binutils/ChangeLog debian/tmp/binutils/usr/doc/$(package)/changelog.binutils
	cp gas/ChangeLog debian/tmp/binutils/usr/doc/$(package)/changelog.gas
	cp gprof/ChangeLog debian/tmp/binutils/usr/doc/$(package)/changelog.gprof
	cp ld/ChangeLog debian/tmp/binutils/usr/doc/$(package)/changelog.ld
	gzip -9v debian/tmp/binutils/usr/doc/$(package)/changelog.*
	( cd debian/tmp/binutils/usr/doc/$(package) && ln -s changelog.binutils.gz changelog.gz )
	LD_LIBRARY_PATH=`pwd`/debian/tmp/binutils/usr/lib dpkg-shlibdeps debian/tmp/binutils/usr/bin/*
	# Hack binutils-m68k-linux out of depends
	sed -e 's/binutils-m68k-linux, //' debian/substvars > debian/substvars.tmp
	mv debian/substvars.tmp debian/substvars
	dpkg-gencontrol -Pdebian/tmp/binutils -pbinutils-m68k-linux
	chown -R root.root debian/tmp
	chmod -R g-ws debian/tmp
	dpkg --build debian/tmp/binutils ..

define checkdir
	test -f binutils/ar.c -a -f debian/rules
endef

# Below here is fairly generic really

binary:         binary-indep binary-arch

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

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

.PHONY: binary binary-arch binary-indep clean checkroot