Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
rules 3.8 KiB
Newer Older
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# Based on the gcc-avr package rules.
# GNU copyright 1997 to 1999 by Joey Hess.

DEB_BUILD_OPTIONS=noautodbgsym

TARGET=pru
TARGET_ARCH=pru
PACKAGE=gcc-pru

VERSION = $(shell dpkg-parsechangelog | sed -n 's/^Version: \(.*pru.*\)-.*$$/\1/p')

CONFARGS = -v \
    --enable-languages=c,c++ \
    --with-newlib \
    --prefix=/usr/lib \
    --infodir=/usr/share/info \
    --mandir=/usr/share/man \
	--bindir=/usr/bin \
	--libexecdir=/usr/lib \
	--libdir=/usr/lib \
    --enable-shared \
    --with-system-zlib \
    --enable-long-long \
    --enable-nls \
    --without-included-gettext \
	--disable-libssp \
    --build=$(DEB_BUILD_GNU_TYPE) \
    --host=$(DEB_HOST_GNU_TYPE) \
    --target=$(TARGET) \
    --with-bugurl="https://github.com/dinuxbg/gnupru/issues" \
    $(shell dpkg-buildflags --export=configure | sed -e 's/-Werror=format-security//g')

srcdir=src

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

TAR_DIR=gcc-*

patch-source: $(patch_stamp)

clean-source:
	rm -rf $(stampdir)
	rm -rf $(gcc_srcdir) $(gdc_srcdir) d
	rm -rf bin
	rm -rf $(srcdir)


unpack: unpack-stamp
unpack-stamp:
	ls
	tar xjf gcc-pru_*.tar.bz2
	mv $(shell basename gcc-pru_*.tar.bz2 .tar.bz2) src
	touch unpack-stamp

BUILD_TREE=src

patched-stamp:=$(STAMP_DIR)/patched-stamp

patch: patch-stamp
patch-stamp: unpack-stamp
	cd $(BUILD_TREE) && for p in `cat ../debian/patchlist`; do \
		echo Applying $$p; \
		patch -p0 < ../debian/$$p; \
	done
	touch patch-stamp

configure: configure-stamp
configure-stamp: $(unpack_stamp) patch-stamp
	dh_testdir
	rm -f $(BUILD_TREE)/gcc/doc/*.1
	rm -f $(BUILD_TREE)/gcc/doc/*.info
	#dh_autoreconf
	mkdir -p objdir
	# Add here commands to configure the package.
	cd objdir && env CC="gcc" `echo ../$(BUILD_TREE)`/configure $(CONFARGS) 
	touch configure-stamp

build: configure-stamp build-stamp
build-stamp: patch-stamp configure-stamp
	dh_testdir

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

	touch build-stamp

build-indep: build
build-arch: build

clean: clean-source
	dh_testdir
	dh_testroot
	#dh_autoreconf_clean
	rm -f build-stamp configure-stamp patch-stamp unpack-stamp
	rm -rf objdir

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/$(PACKAGE).
	echo install: > objdir/fixincludes/Makefile
	cd objdir && $(MAKE) install DESTDIR=$(CURDIR)/debian/$(PACKAGE)/

	#rm debian/$(PACKAGE)/usr/share/man/man1/pru-g++.1
	#ln -s pru-gcc.1.gz debian/$(PACKAGE)/usr/share/man/man1/pru-g++.1.gz
	ln -s pru-g++.1.gz debian/$(PACKAGE)/usr/share/man/man1/pru-c++.1.gz
	ln -s pru-gcc.1.gz debian/$(PACKAGE)/usr/share/man/man1/pru-gcc-4.3.0.gz

	cd debian/$(PACKAGE)/usr/ && \
	rm -rf bin/gcov bin/gccbug share/man/man1/gcov.1* \
	lib*/libiberty.a share/info share/man/man7/gfdl.7* \
	share/man/man7/gpl.7* share/man/man7/fsf-funding.7* \
	share/locale bin/*c++filt \
	share/man

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
#	dh_installdebconf	
	dh_installdocs -n
#	dh_installexamples
#	dh_installmenu
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
	dh_installman
	dh_installinfo
	dh_installchangelogs 
	dh_link
	dh_strip -X.a -X.o
	for f in `find debian/$(PACKAGE) -name '*.a'`; do \
	  pru-strip --strip-debug $$f; \
	done
	dh_compress 
	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
#	dh_perl
	dh_shlibdeps
#	dh_gencontrol -- -VBuilt-Using="$(BUILT_USING)"
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure