1 # $NetBSD: mknative.common,v 1.10 2013/10/20 16:00:20 skrll Exp $
3 # from: NetBSD: mknative,v 1.12 2003/03/05 06:17:17 mrg Exp
5 # shell-fragment common to all "mknative" scripts
13 # Make sure we can run OK.
14 if [ -x "$MAKE" ]; then
20 # usage: getvars MAKEFILE VARNAME [VARNAME...]
27 env MAKEFLAGS= $MAKE --quiet -f - -f "$_TMPDIR/$_mf" _x_ <<EOF || bomb "getvars $_mf $* failed"
29 @echo G_\${var}="\${\${var}}" | sed -e 's,\([^\.]\)\./\([a-zA-Z0-9_-]*\.o\),\1\2,g' -e 's,$_VPATH,\$\${GNUHOSTDIST},g' -e 's,$_GNU_DIST,\$\${GNUHOSTDIST},g'
33 \$(foreach var,$*,\$(echo_var))
37 $MAKE -B -f - _x_ <<EOF || bomb "getvars $_mf $* failed"
40 @echo G_\${var}=\${\${var}:Q} | sed -e 's,\([^\.]\)\./\([a-zA-Z0-9_-]*\.o\),\1\2,g' -e 's,$_VPATH,\$\${GNUHOSTDIST},g' -e 's,$_GNU_DIST,\$\${GNUHOSTDIST},g'
42 .include "$_TMPDIR/$_mf"
48 # usage: write_c FILENAME
52 echo '/* This file is automatically generated. DO NOT EDIT! */' >$_TOP/$1.tmp || \
53 bomb "cannot create $1"
54 grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
55 echo '$NetBSD: mknative.common,v 1.10 2013/10/20 16:00:20 skrll Exp $' | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
56 echo '' >>$_TOP/$1.tmp
60 # usage: write_mk FILENAME
64 echo '# This file is automatically generated. DO NOT EDIT!' >$_TOP/$1.tmp || \
65 bomb "cannot create $1"
66 grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
67 echo '$NetBSD: mknative.common,v 1.10 2013/10/20 16:00:20 skrll Exp $' | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
68 echo '#' >>$_TOP/$1.tmp
74 sed -e 's,netbsd\(elf\)*1[0-9\.]*\(_\)*[A-Z]*,netbsd\1,' \
75 -e 's,^/\* #undef HAVE_MMAP \*/$,#define HAVE_MMAP 1,' \
78 # Compare new file, sans "generated from" comments and RCS Id,
79 # to old file. If they match, don't change anything.
80 rm -f $_TMPDIR/.1 $_TMPDIR/.2
81 grep -v 'Generated from:' $_TOP/$1 >$_TMPDIR/.1 2>/dev/null
82 grep -v 'Generated from:' $_TOP/$1.tmp >$_TMPDIR/.2
84 # will not overwrite a file that has the same content
85 if cmp $_TMPDIR/.1 $_TMPDIR/.2 >/dev/null 2>&1; then
89 mv -f $_TOP/$1.tmp $_TOP/$1