OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [debian/] [rules] - Rev 1771

Go to most recent revision | Compare with Previous | Blame | View Log

#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

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

# This is the debhelper compatability version to use.
export DH_COMPAT=3

#include version
major=$(shell grep '^MAJOR_VERSION' Rules.mak|sed 's/.*=//')
minor=$(shell grep '^MINOR_VERSION' Rules.mak|sed 's/.*=//')
version:=$(strip $(major)).$(strip $(minor))

kernel_version=2.4.22
kernel_source=kernel-source-$(kernel_version)

builddir=$(shell pwd)

target=$(DEB_HOST_GNU_CPU)

with_shared_libs=y

ifeq ($(with_shared_libs),y)
shared_libs_true=true
else
shared_libs_true=false
endif

ifneq ($(target),$(DEB_HOST_GNU_CPU))
target_suffix=-$(target)
endif

ifneq ($(target),$(DEB_HOST_GNU_CPU))
cross_options = --cross="$(target)-linux-"
else
cross_options = --cross=""
endif

p_dev=uclibc-dev$(target_suffix)
p_lib=uclibc$(target_suffix)

build: build-stamp
build-stamp:
        dh_testdir

        # Brute force method of getting kernel headers
        tar --bzip2 -xf /usr/src/$(kernel_source).tar.bz2 \
          $(kernel_source)/Makefile $(kernel_source)/include
        

        # Hack to get include/asm-arm/arch directory.  This should
        # stay here, and not move to the top-level Makefile, since
        # it adds a link _in the kernel source_, which is almost
        # certainly wrong in most situations.
#ifeq ($(target),arm)
        ln -s arch-sa1100 $(kernel_source)/include/asm-arm/arch
        ln -s proc-armo $(kernel_source)/include/asm-arm/proc
#endif
        
        touch $(kernel_source)/include/linux/autoconf.h

        # Various stupid programs use linux/version.h to find the
        # Linux version.
        ( \
                echo '#define UTS_RELEASE "$(kernel_version)"'; \
                echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
                echo '#define LINUX_VERSION_CODE KERNEL_VERSION($(shell echo $(kernel_version) | sed s/\\./,/g))'; \
        ) >$(kernel_source)/include/linux/version.h
        
        cp debian/config .config

        sed -i -e 's,^.*TARGET_$(target).*,TARGET_$(target)=y,g' \
                .config
        sed -i -e 's,^TARGET_ARCH.*,TARGET_ARCH=\"$(target)\",g' \
                .config
        sed -i -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(builddir)/$(kernel_source)\",g' \
                .config
        sed -i -e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \
                .config
        sed -i -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/usr/\",g' \
                .config
        sed -i -e 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
                .config
        sed -i -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' \
                .config

ifeq ($(target),arm)
                sed -i -e 's,.*HAS_FPU.*,HAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' .config
        echo CONFIG_GENERIC_ARM=y >>.config
endif
ifeq ($(target),i386)
        echo CONFIG_GENERIC_386=y >>.config
endif
        yes '' | make oldconfig

        mkdir -p lib

        $(MAKE)
        $(MAKE) utils

        touch build-stamp

clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp

        rm -rf kernel-source-*

        # Add here commands to clean up after the build process.
        -$(MAKE) distclean

        -rm -f Config

        dh_clean

install: build
        dh_testdir
        dh_testroot
        dh_clean -k
        dh_installdirs

        -rm debian/tmp
        -mkdir debian/tmp

        # Add here commands to install the package into debian/tmp.
        $(MAKE) install install_utils PREFIX=`pwd`/debian/tmp

        install -d debian/tmp/usr/share/man/man1
        install -m 644 debian/ldd.1 \
          debian/tmp/usr/share/man/man1/ldd.1
        install -m 644 debian/ldconfig.1 \
          debian/tmp/usr/share/man/man1/ldconfig.1
        

# Build architecture-independent files here.
binary-indep:

# Build architecture-dependent files here.
binary-arch: build install
#       dh_testversion
        dh_testdir
        dh_testroot

        dh_movefiles
#       dh_installdebconf       
        dh_installdocs
        dh_installexamples
        dh_installmenu
#       dh_installemacsen
#       dh_installpam
#       dh_installinit
        dh_installcron
#       dh_installmanpages -puclibc
        dh_installinfo
#       dh_undocumented
        dh_installchangelogs 
        dh_link
        dh_strip
        dh_compress
        dh_fixperms -Xld-uClibc
        # You may want to make some executables suid here.
#       dh_suidregister
#       dh_makeshlibs
        dh_installdeb
#       dh_perl
        dh_shlibdeps --exclude=lib
        dh_gencontrol
        dh_md5sums
        dh_builddeb

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

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.