summaryrefslogtreecommitdiffstats
path: root/build/fastgen.sh
blob: 7b089577276035a5912a1732b44ae18f038c130b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#! /bin/sh
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# The build environment was provided by Sascha Schumann.

srcdir=$1
shift

mkdir_p=$1
shift

bsd_makefile=$1
shift

top_srcdir=`(cd $srcdir; pwd)`
top_builddir=`pwd`

if test "$mkdir_p" = "yes"; then
  mkdir_p="mkdir -p"
else
  mkdir_p="$top_srcdir/build/mkdir.sh"
fi

if test "$bsd_makefile" = "yes"; then
  (cd $top_srcdir; ./build/bsd_makefile)  

  for makefile in $@; do
    echo "creating $makefile"
    dir=`echo $makefile|sed 's%/*[^/][^/]*$%%'`

    if test -z "$dir"; then
        real_srcdir=$top_srcdir
        real_builddir=$top_builddir
        dir="."
    else
        $mkdir_p "$dir/"
        real_srcdir=$top_srcdir/$dir
        real_builddir=$top_builddir/$dir
    fi
    cat - $top_srcdir/$makefile.in <<EOF      | \
       sed 's/^include \(.*\)/.include "\1"/' | \
       sed 's/^ifdef \(.*\)/.ifdef \1/'       | \
       sed 's/^else\(.*\)/.else\1/'           | \
       sed 's/^endif\(.*\)/.endif\1/' >$makefile 
top_srcdir   = $top_srcdir
top_builddir = $top_builddir
srcdir       = $real_srcdir
builddir     = $real_builddir
VPATH        = $real_srcdir
EOF
    
    touch $dir/.deps
  done
else  
  for makefile in $@; do
    echo "creating $makefile"
    dir=`echo $makefile|sed 's%/*[^/][^/]*$%%'`

    if test -z "$dir"; then
        real_srcdir=$top_srcdir
        real_builddir=$top_builddir
        dir="."
    else
        $mkdir_p "$dir/"
        real_srcdir=$top_srcdir/$dir
        real_builddir=$top_builddir/$dir
    fi
    cat - $top_srcdir/$makefile.in <<EOF >$makefile
top_srcdir   = $top_srcdir
top_builddir = $top_builddir
srcdir       = $real_srcdir
builddir     = $real_builddir
VPATH        = $real_srcdir
EOF

    touch $dir/.deps
  done
fi