Fossil

Check-in [0ddd305a]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:added make wrapper script
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | ron-make
Files: files | file ages | folders
SHA1: 0ddd305acb7f4b0bec04c71f01ded95208598cb2
User & Date: ron 2010-02-28 07:01:29
Context
2010-02-28
08:18
fix small issue in postbuild Closed-Leaf check-in: 7f2ccea7 user: ron tags: ron-make
07:01
added make wrapper script check-in: 0ddd305a user: ron tags: ron-make
2010-02-27
12:26
A wiki-style hyperlink to a well-formed ISO8601 date-time will link to the timeline at that date and time. check-in: 7ca773bc user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added make.sh.























































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
# This is a wrapper, permitting overriding of the MAKE parameters

# Are we doing a cross-compile for Windows?  Set to '.w32' if we are:
cross=

# Are we doing a clean?  Set to 'clean' if so:
clean=

# Are we doing all platforms?
doall=0

postbuild()
{
	echo "Finished build"
}

die()
{
	echo $1
	exit 1
}

domake()
{
	optsfile="make.opts${cross}"
	(
		if [ -f $optsfile ]
		then
			. $optsfile
		fi

		make -f Makefile${cross} ${clean} || die "Could not build!"
	)

	if [ "$clean" != "clean" ]
	then
		postbuild
	fi
}

syntax()
{
cat <<EOF
OPTIONS:

  make.sh [help] [cross] [all] [clean]

The options are position-insensitive and additive:

  'help'  displays this text
  'cross' does a cross-compile for Windows
  'all'   does a regular build as well as a cross-compile
  'clean' cleans rather than builds

For example:

   make.sh cross clean

Will clean the Windows cross-compiled build.  Giving no options will make the
script do a 'regular' build.

FILES:

In order to override the defaults, you may create a file "make.opts" and/or
"make.opts.w32".  These are normal "bash" scripts, in which you override whatever
behavior you want.  For example, you might override the "postbuild" function so
that you create a ZIP file after compilation.  Or you can export a new TCC
variable to override the standard default values.  See "Makefile" for values you
might be interested in overriding.
EOF
exit 1
}


# process command-line options:

while [ "$1" != "" ]
do
	case $1 in
		cross)
			cross='.w32'
		;;

		all)
			doall=1
		;;

		clean)
			clean='clean'
		;;
		help|*) 
			syntax
		;;
	esac
	shift
done

# Do what needs to be done!
if [ "$doall" == "1" ]
then
	cross=
	domake
	cross='.w32'
	domake
else
	domake
fi