mknative-binutils revision 1.4
11.1Smrg#!/bin/sh 21.4Smrg# $NetBSD: mknative-binutils,v 1.4 2004/12/10 13:57:08 mrg Exp $ 31.1Smrg# 41.1Smrg# Shell script for generating all the constants needed for a native 51.1Smrg# platform build of src/gnu/dist/binutils. 61.1Smrg# 71.1Smrg 81.1Smrg# initialise 91.1Smrg 101.1Smrg_TMPDIR=$2 111.1Smrg_TOP=$3 121.1Smrg_PLATFORM=$4 131.4Smrg_VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` 141.1Smrg 151.1Smrg. $_TOP/tools/gcc/mknative.common 161.1Smrg 171.3Smrg##### gnu/lib/libbfd ##### 181.1Smrg 191.1Smrgget_libbfd () { 201.3Smrg mkdir -p $_TOP/gnu/lib/libbfd/arch/$MACHINE_ARCH 211.1Smrg 221.1Smrg { 231.1Smrg getvars bfd/Makefile \ 241.1Smrg libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \ 251.1Smrg INCLUDES TDEFAULTS 261.3Smrg } | write_mk gnu/lib/libbfd/arch/$MACHINE_ARCH/defs.mk 271.1Smrg 281.3Smrg write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h 291.3Smrg write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h 301.1Smrg 311.1Smrg { 321.1Smrg cat $_TMPDIR/bfd/config.h 331.3Smrg } | write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/config.h 341.1Smrg} 351.1Smrg 361.3Smrg##### gnu/lib/libopcodes ##### 371.1Smrg 381.1Smrgget_libopcodes () { 391.3Smrg mkdir -p $_TOP/gnu/lib/libopcodes/arch/$MACHINE_ARCH 401.1Smrg 411.1Smrg { 421.1Smrg getvars opcodes/Makefile \ 431.1Smrg archdefs BFD_MACHINES libopcodes_la_SOURCES 441.3Smrg } | write_mk gnu/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk 451.1Smrg 461.1Smrg { 471.1Smrg cat $_TMPDIR/opcodes/config.h 481.3Smrg } | write_c gnu/lib/libopcodes/arch/$MACHINE_ARCH/config.h 491.1Smrg} 501.1Smrg 511.3Smrg##### gnu/lib/libiberty ##### 521.1Smrg 531.1Smrgget_libiberty () { 541.3Smrg mkdir -p $_TOP/gnu/lib/libiberty 551.1Smrg 561.1Smrg getvars libiberty/Makefile \ 571.1Smrg ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ 581.3Smrg | write_mk gnu/lib/libiberty/defs.mk 591.1Smrg 601.3Smrg write_c gnu/lib/libiberty/config.h \ 611.1Smrg <$_TMPDIR/libiberty/config.h 621.1Smrg} 631.1Smrg 641.1Smrg##### gnu/usr.bin/binutils ##### 651.1Smrg 661.1Smrgget_binutils () { 671.1Smrg ### common 681.1Smrg 691.1Smrg mkdir -p $_TOP/gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH 701.1Smrg 711.1Smrg { 721.1Smrg getvars binutils/Makefile \ 731.1Smrg VERSION DEFS INCLUDES PROGRAMS 741.1Smrg getvars binutils/doc/Makefile \ 751.1Smrg man_MANS TEXINFOS 761.1Smrg 771.1Smrg for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do 781.1Smrg getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES 791.1Smrg done 801.1Smrg } | write_mk gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH/defs.mk 811.1Smrg 821.1Smrg write_c gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH/config.h \ 831.1Smrg <$_TMPDIR/binutils/config.h 841.1Smrg 851.1Smrg ### gas 861.1Smrg 871.1Smrg mkdir -p $_TOP/gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH 881.1Smrg 891.1Smrg getvars gas/Makefile \ 901.1Smrg DEFS INCLUDES OBJS \ 911.1Smrg | write_mk gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH/defs.mk 921.1Smrg 931.1Smrg for f in config itbl-cpu obj-format targ-cpu targ-env; do 941.1Smrg write_c gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h 951.1Smrg done 961.1Smrg 971.1Smrg ### gprof 981.1Smrg 991.1Smrg mkdir -p $_TOP/gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH 1001.1Smrg 1011.1Smrg getvars gprof/Makefile \ 1021.1Smrg DEFS gprof_OBJECTS INCLUDES TEXINFOS \ 1031.1Smrg | write_mk gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH/defs.mk 1041.1Smrg 1051.1Smrg write_c gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h 1061.1Smrg 1071.1Smrg ### ld 1081.1Smrg 1091.1Smrg mkdir -p $_TOP/gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH 1101.1Smrg 1111.1Smrg { 1121.1Smrg getvars ld/Makefile \ 1131.1Smrg DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS 1141.1Smrg getvars ld/Makefile \ 1151.1Smrg target_alias | sed 's,[\._0-9A-Z]*$,,' 1161.1Smrg } | write_mk gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH/defs.mk 1171.1Smrg 1181.1Smrg for f in config ldemul-list; do 1191.1Smrg write_c gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h 1201.1Smrg done 1211.1Smrg} 1221.1Smrg 1231.1Smrg##### main ##### 1241.1Smrg 1251.1Smrgcase $1 in 1261.2Smrgall|binutils) # everything (uses "canadian cross" temp environment) 1271.1Smrg get_binutils 1281.1Smrg get_libbfd 1291.1Smrg get_libopcodes 1301.1Smrg get_libiberty 1311.1Smrg exit 0 1321.1Smrg ;; 1331.1Smrg 1341.1Smrg*) echo invalid arguments; exit 1;; 1351.1Smrgesac 136