steps.mk
author Joachim Nilsson <jocke@vmlinux.org>
Fri Jan 01 12:17:39 2010 +0100 (2010-01-01)
changeset 1671 08a5129e6eb0
parent 1380 945dc995daa7
child 1811 35cf5e2f110a
permissions -rw-r--r--
debug/strace: fix strace 4.5.19 to properly build with latest Linux kernels

Here's a couple of patches to get strace 4.5.19 to configure and build
properly with the latest kernel headers. Not pretty, but hopefully
enough while we wait for 4.5.20 to be released.

With the current strace-4.5.19 patches I failed to get the configure
script running even on my host environment. Also, when cross building
the configure script needs to look for the proper system headers to be
able to properly set HAVE_LINUX_NETLINK_H. Otherwise you get:

[EXTRA] Building strace
[ERROR] /home/jocke/x-tools/targets/src/strace-4.5.19/net.c:976:
error: field 'nl' has incomplete type
[ERROR] make[2]: *** [net.o] Error 1
[ERROR] make[1]: *** [all] Error 2

The fix was simple, backport a change set from the git[1] tree and run
autoreconf to update the configure script.

[1] - http://strace.git.sourceforge.net/git/gitweb.cgi?p=strace/strace;a=commit;h=f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7
yann@136
     1
# Makefile for each steps
yann@136
     2
# Copyright 2006 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
yann@136
     3
yann@1001
     4
# ----------------------------------------------------------
yann@1001
     5
# This is the steps help entry
yann@1001
     6
yann@1001
     7
help-build::
yann@1001
     8
	@echo  '  list-steps         - List all build steps'
yann@1001
     9
yann@1015
    10
help-env::
yann@1015
    11
	@echo  '  STOP               - Stop the build just after this step'
yann@1015
    12
	@echo  '  RESTART            - Restart the build just before this step'
yann@1015
    13
yann@1001
    14
# ----------------------------------------------------------
yann@1001
    15
# The steps list
yann@1001
    16
yann@1149
    17
# Please keep the last line with a '\' and keep the following empy line:
yann@1001
    18
# it helps when diffing and merging.
yann@461
    19
CT_STEPS := libc_check_config   \
yann@461
    20
            kernel_headers      \
yann@466
    21
            gmp                 \
yann@466
    22
            mpfr                \
yann@1324
    23
            ppl                 \
yann@1380
    24
            cloog               \
yann@1384
    25
            mpc                 \
yann@461
    26
            binutils            \
yann@1337
    27
            elf2flt             \
yann@461
    28
            cc_core_pass_1      \
yann@461
    29
            libc_headers        \
yann@461
    30
            libc_start_files    \
yann@461
    31
            cc_core_pass_2      \
yann@461
    32
            libc                \
yann@461
    33
            cc                  \
yann@461
    34
            libc_finish         \
yann@602
    35
            gmp_target          \
yann@602
    36
            mpfr_target         \
yann@1034
    37
            binutils_target     \
yann@461
    38
            tools               \
yann@461
    39
            debug               \
yann@1149
    40
            finish              \
yann@461
    41
yann@1143
    42
# Make the list available to sub-processes (scripts/crosstool-NG.sh needs it)
yann@461
    43
export CT_STEPS
yann@181
    44
yann@1001
    45
# Print the steps list
yann@1001
    46
PHONY += list-steps
yann@1001
    47
list-steps:
yann@1001
    48
	@echo  'Available build steps, in order:'
yann@1001
    49
	@for step in $(CT_STEPS); do    \
yann@1001
    50
	     echo "  - $${step}";       \
yann@1001
    51
	 done
yann@1001
    52
	@echo  'Use "<step>" as action to execute only that step.'
yann@1001
    53
	@echo  'Use "+<step>" as action to execute up to that step.'
yann@1001
    54
	@echo  'Use "<step>+" as action to execute from that step onward.'
yann@1001
    55
yann@1001
    56
# ----------------------------------------------------------
yann@1001
    57
# This part deals with executing steps
yann@1001
    58
yann@181
    59
$(CT_STEPS):
yann@1010
    60
	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build
yann@136
    61
yann@304
    62
$(patsubst %,+%,$(CT_STEPS)):
yann@1010
    63
	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build
yann@136
    64
yann@304
    65
$(patsubst %,%+,$(CT_STEPS)):
yann@1010
    66
	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build