File: rules

package info (click to toggle)
binutils-avr 2.43.50.20250108-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 116 kB
  • sloc: makefile: 85; sh: 6
file content (144 lines) | stat: -rwxr-xr-x 4,525 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
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

#https://wiki.debian.org/PackagingLessCommonBinutilsTargets

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk

PACKAGE=binutils-avr
TARGET=avr
BUILT_USING := $(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W binutils-source)
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)

#DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -q DEB_HOST_GNU_TYPE)
#DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -q DEB_BUILD_GNU_TYPE)

CONFARGS = --prefix=/usr \
           --build=$(DEB_BUILD_GNU_TYPE) \
           --host=$(DEB_HOST_GNU_TYPE) \
           --target=$(TARGET) \
           --with-gnu-ld \
           --with-gnu-as \
		   --with-system-zlib \
           --enable-install-libbfd \
           --with-dwarf2 \
           --disable-static \
           --disable-gdb --disable-libdecnumber --disable-readline \
           --disable-sim \
           $(shell env DEB_CFLAGS_MAINT_APPEND="-Wno-implicit-fallthrough -Wno-format-overflow -Wno-pointer-compare -Wno-error=cast-function-type -Wno-error=stringop-truncation -Wno-error=format-truncation -Wno-error=discarded-qualifiers" \
		     env DEB_BUILD_MAINT_OPTIONS="hardening=+all" \
		     dpkg-buildflags --export=configure)


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

#TAR_DIR=binutils-*
#TAR_DIR=TAR_DIR=binutils-*
#include /usr/share/dbs/dbs-build.mk
#include debian/dbs-build.mk

BUILD_TREE=build

%:
	dh $@


override_dh_auto_configure: configure-stamp

unpack-stamp:
	tar xf /usr/src/binutils/binutils-*.tar.*
	mv binutils* src
	patch -p1 src/binutils/size.c debian/size_avr_support.patch
	mkdir build
	touch unpack-stamp

patch-stamp: unpack-stamp
	touch $@

# the dbs rules
#include /usr/src/toolchain/patches/binutils/dbs-build.mk
#
configure-stamp: patch-stamp
	dh_testdir

	dh_update_autotools_config
	# Add here commands to configure the package.
	cd $(BUILD_TREE) && env CFLAGS="-Wno-error=unused-but-set-variable -Wno-error=unused-but-set-parameter" CPPFLAGS="$(CPPFLAGS)" ../src/configure $(CONFARGS)
	make -C $(BUILD_TREE) maybe-configure-bfd
	make -C $(BUILD_TREE)/bfd/ headers
	touch configure-stamp

override_dh_auto_build:configure-stamp build-stamp

build-stamp:
	dh_testdir

	# Add here commands to compile the package.
	cd $(BUILD_TREE) && $(MAKE)
	#/usr/bin/docbook-to-man debian/$(PACKAGE).sgml > $(PACKAGE).1

	touch build-stamp

override_dh_auto_clean:
	dh_testdir
	dh_testroot
	rm -f configure-stamp unpack-stamp patch-stamp
	rm -f debian/files debian/binuils-avr.substvars
	rm -rf src build debian/binutils-avr debian/.debhelper

override_dh_auto_install:
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	# Add here commands to install the package into debian/$(PACKAGE).
	cd $(BUILD_TREE) && $(MAKE) install prefix=$(CURDIR)/debian/$(PACKAGE)/usr

	# Non standard avr dir to keep FHS happy
	mv debian/binutils-avr/usr/avr debian/binutils-avr/usr/lib/

	# Convert hardlinks to softlinks
	cd debian/binutils-avr/usr/lib/avr/bin && for f in *; do \
	    rm ../../../bin/avr-$$f; \
	    ln -s ../lib/avr/bin/$$f ../../../bin/avr-$$f; \
	done

	# Emptying the dependency_libs field of .la files
	sed -i "/dependency_libs/ s/'.*'/''/" `find debian/binutils-avr -name '*.la'`

	# Adjust paths
	sed -i 's/\/usr\/$(DEB_HOST_GNU_TYPE)\/avr/\/usr\/lib\/avr\/$(DEB_HOST_GNU_TYPE)/' `find debian/binutils-avr -name '*.la'`

	ln -s avr-ld.1.gz debian/binutils-avr/usr/share/man/man1/avr-ld.bfd.1.gz

    # Remove man pages that are not needed
	rm debian/binutils-avr/usr/share/man/man1/avr-dlltool.1
	rm debian/binutils-avr/usr/share/man/man1/avr-windmc.1
	rm debian/binutils-avr/usr/share/man/man1/avr-windres.1

	# Files also in main binutils pkg
	cd debian/$(PACKAGE)/usr && \
	rm -rf include \
	rm -rf lib/libiberty.* lib/libbfd.* lib/libopcodes* \
	include/bfd.h include/ansidecl.h include/bfdlink.h \
	share/locale include/symcat.h include/dis-asm.h \
	info share/info share/man/man1/avr-c++filt.1.gz \
	share/locale

	mv debian/binutils-avr/usr/$(DEB_HOST_GNU_TYPE)/avr \
	   debian/binutils-avr/usr/lib/avr/$(DEB_HOST_GNU_TYPE)
	rm -r debian/binutils-avr/usr/$(DEB_HOST_GNU_TYPE)

	mkdir debian/binutils-avr/usr/lib/avr/lib/

	rm -f debian/binutils-avr/usr/lib/*.a
	rm -f debian/binutils-avr/usr/lib/*.la \
	rm -rf debian/binutils-avr/usr/lib/bfd-plugins

	mv debian/binutils-avr/usr/lib/ldscripts \
	   debian/binutils-avr/usr/lib/avr/lib/ldscripts