summaryrefslogtreecommitdiff
path: root/STARTUP.in
blob: 0416b7fe5058e331af481a80512257b2aeb5602d (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#! /bin/sh
#
# die quickly if anything goes astray...
set -e

# figure out the absolute pathname of the "top" directory
# (the one which has "mkworld", "nofib", "glafp-utils", etc., as subdirs)
hardtop=`pwd`
hardtop=`echo $hardtop | sed 's|^/tmp_mnt/|/|' | sed 's|^/export/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|'`
echo ''
echo "*** The top of your build tree is: $hardtop"

case "$hardtop" in
  # NeXTStep brain damage
  /private/tmp_mnt/auto* )
    echo '***'
    echo '*** AAARRRGGGHHHH!!!'
    echo '***'
    echo '*** Stupid automounter (and pwd) will not tell me'
    echo '*** the absolute pathname for the current directory.'
    echo '*** Be sure to set TopDirPwd in mkworld/site-DEF.jm.'
    echo '*** (Then it does not matter what this script decides.)'
    echo '***'
    ;;
esac

# make "mkworld", "literate", and "glafp-utils" (no special configuration)

#	make all the Makefiles first

for i in @DoingMkWorld@ @DoingGlaFpUtils@ @DoingLiterate@ ; do
  if [ -d $i ] ; then
    ( set -e;								\
      cd $i ;								\
      echo '' ;								\
      echo "*** configuring $i ..." ;					\
      @MakeCmd@ -f Makefile.BOOT BOOT_DEFINES="-P none -S std -DTopDirPwd=$hardtop";	\
      echo '' ;								\
      echo "*** making Makefiles in $i ..." ;				\
      @MakeCmd@ Makefile ; 						\
      @MakeCmd@ Makefiles 						\
    )
  else
    echo warning: $i is not a directory -- doing nothing for it
  fi
done

#	now make the dependencies and Real Stuff

for i in @DoingMkWorld@ @DoingGlaFpUtils@ @DoingLiterate@ ; do
  if [ -d $i ] ; then
    ( set -e;								\
      cd $i ;								\
      echo '' ;								\
      echo "*** making dependencies in $i ..." ;			\
      @MakeCmd@ depend ;						\
      echo '' ;								\
      echo "*** making all in $i ..." ;					\
      @MakeCmd@ all							\
    )
  else
    echo warning: $i is not a directory -- doing nothing for it
  fi
done

# OK, now make the \`real' Makefiles

passed_in_setup="-S @MkWorldSetup@"

for i in @DoingGHC@ @DoingHsLibs@ @DoingHappy@ @DoingHaggis@ @DoingNoFib@ EndOfList ; do
  if [ $i = nofib ] ; then
     setup=$passed_in_setup
  else
     setup=''
  fi
  if [ -d $i ] ; then
    ( set -e;								\
      cd $i ;								\
      echo '' ;								\
      echo "*** configuring $i ..." ;					\
      @MakeCmd@ -f Makefile.BOOT BOOT_DEFINES="-P $i $setup -C mkworld -DTopDirPwd=$hardtop"; \
      echo '' ;								\
      echo "*** making Makefiles in $i ..." ;				\
      @MakeCmd@ Makefile ; 						\
      @MakeCmd@ Makefiles 						\
    )
  else
    if [ $i != EndOfList ] ; then
	echo warning: $i is not a directory -- doing nothing for it
    fi
  fi
done

# Finally, the dependencies

for i in @DoingGHC@ @DoingHsLibs@ @DoingHappy@ @DoingHaggis@ @DoingNoFib@ EndOfList ; do
  if [ -d $i ] ; then
    ( set -e;								\
      cd $i ;								\
      echo '' ;								\
      echo "*** making dependencies in $i ..." ;			\
      @MakeCmd@ depend 							\
    )
  else
    if [ $i != EndOfList ] ; then
	echo warning: $i is not a directory -- doing nothing for it
    fi
  fi
done

echo ''
echo '*******************************************************************'
echo "* Looking good! All you should need to do now is...               *"
echo '*                                                                 *'
for i in @DoingGHC@ @DoingHsLibs@ @DoingHappy@ @DoingHaggis@ @DoingNoFib@ EndOfList ; do
    if [ $i != EndOfList ] ; then
	echo "        cd $i"
	if [ $i = nofib ] ; then
	    echo '        make all        # or...'
	    echo '        make runtests'
	else
	    echo '        make all'
	    echo '        make install   # if you are so inclined...'
	fi
    fi
done
echo '*                                                                 *'
echo '*******************************************************************'
exit 0