mknative-binutils revision 1.6
11.1Smrg#!/bin/sh 21.6Sskrll# $NetBSD: mknative-binutils,v 1.6 2009/11/08 15:33:29 skrll Exp $ 31.1Smrg# 41.1Smrg# Shell script for generating all the constants needed for a native 51.6Sskrll# platform build of src/external/gpl3/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.6Sskrll##### external/gpl3/binutils/lib/libbfd ##### 181.1Smrg 191.1Smrgget_libbfd () { 201.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/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.6Sskrll } | write_mk external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/defs.mk 271.1Smrg 281.6Sskrll write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h 291.6Sskrll write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h 301.6Sskrll write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfd_stdint.h <$_TMPDIR/bfd/bfd_stdint.h 311.1Smrg 321.1Smrg { 331.1Smrg cat $_TMPDIR/bfd/config.h 341.6Sskrll } | write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/config.h 351.1Smrg} 361.1Smrg 371.6Sskrll##### external/gpl3/binutils/lib/libopcodes ##### 381.1Smrg 391.1Smrgget_libopcodes () { 401.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH 411.1Smrg 421.1Smrg { 431.1Smrg getvars opcodes/Makefile \ 441.1Smrg archdefs BFD_MACHINES libopcodes_la_SOURCES 451.6Sskrll } | write_mk external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk 461.1Smrg 471.1Smrg { 481.1Smrg cat $_TMPDIR/opcodes/config.h 491.6Sskrll } | write_c external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH/config.h 501.1Smrg} 511.1Smrg 521.6Sskrll##### external/gpl3/binutils/lib/libiberty ##### 531.1Smrg 541.1Smrgget_libiberty () { 551.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH 561.1Smrg 571.1Smrg getvars libiberty/Makefile \ 581.1Smrg ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ 591.6Sskrll | write_mk external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH/defs.mk 601.1Smrg 611.6Sskrll write_c external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH/config.h \ 621.1Smrg <$_TMPDIR/libiberty/config.h 631.1Smrg} 641.1Smrg 651.6Sskrll##### external/gpl3/binutils/usr.bin ##### 661.1Smrg 671.1Smrgget_binutils () { 681.1Smrg ### common 691.1Smrg 701.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH 711.1Smrg 721.1Smrg { 731.1Smrg getvars binutils/Makefile \ 741.1Smrg VERSION DEFS INCLUDES PROGRAMS 751.1Smrg getvars binutils/doc/Makefile \ 761.1Smrg man_MANS TEXINFOS 771.1Smrg 781.1Smrg for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do 791.1Smrg getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES 801.1Smrg done 811.6Sskrll } | write_mk external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH/defs.mk 821.1Smrg 831.6Sskrll write_c external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH/config.h \ 841.1Smrg <$_TMPDIR/binutils/config.h 851.1Smrg 861.1Smrg ### gas 871.1Smrg 881.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH 891.1Smrg 901.1Smrg getvars gas/Makefile \ 911.1Smrg DEFS INCLUDES OBJS \ 921.6Sskrll | write_mk external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH/defs.mk 931.1Smrg 941.1Smrg for f in config itbl-cpu obj-format targ-cpu targ-env; do 951.6Sskrll write_c external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h 961.1Smrg done 971.1Smrg 981.1Smrg ### gprof 991.1Smrg 1001.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH 1011.1Smrg 1021.1Smrg getvars gprof/Makefile \ 1031.1Smrg DEFS gprof_OBJECTS INCLUDES TEXINFOS \ 1041.6Sskrll | write_mk external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH/defs.mk 1051.1Smrg 1061.6Sskrll write_c external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h 1071.1Smrg 1081.1Smrg ### ld 1091.1Smrg 1101.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH 1111.1Smrg 1121.1Smrg { 1131.1Smrg getvars ld/Makefile \ 1141.1Smrg DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS 1151.1Smrg getvars ld/Makefile \ 1161.1Smrg target_alias | sed 's,[\._0-9A-Z]*$,,' 1171.6Sskrll } | write_mk external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/defs.mk 1181.1Smrg 1191.1Smrg for f in config ldemul-list; do 1201.6Sskrll write_c external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h 1211.1Smrg done 1221.1Smrg} 1231.1Smrg 1241.1Smrg##### main ##### 1251.1Smrg 1261.1Smrgcase $1 in 1271.2Smrgall|binutils) # everything (uses "canadian cross" temp environment) 1281.1Smrg get_binutils 1291.1Smrg get_libbfd 1301.1Smrg get_libopcodes 1311.1Smrg get_libiberty 1321.1Smrg exit 0 1331.1Smrg ;; 1341.1Smrg 1351.1Smrg*) echo invalid arguments; exit 1;; 1361.1Smrgesac 137