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
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
#
# Copyright 2021 Robert D. French
# The default task in our makefile, "help", will print a small table of
# user-invocable targets and corresponding descriptions. This convention is
# borrowed from Rails' "rake" command, and makes it easy to use a Makefile as
# the universal point-of-entry for development tasks.
#
: #: Build this help menu from Makefile target comments (default)# Remote development can be a pain. The "smartos" macro makes it possible to run
# commands either from a smartos host or from a workstation which has ssh
# access to a smartos host. If a task wraps all its commands in the smartos
# macro, it can be invoked from either a smartos host or a remote workstation.
smartos=
else
smartos=
endif
# This target syncs code from your local workstation to a remote smartos host.
# It doesn't use the "smartos" macro defined above, because it really only makes
# sense to run from your local workstation. It requires an environment variable
# called $SMARTOS_HOST, which should contain the hostname of the remote smartos
# system.
#
: #: Push latest code to development host# This task tracks what packages our smartos system needs in order to build
# portunus. It is idempotent, so we could provisionally run it as a
# pre-requisite of every other task, but it takes a few seconds and does not
# usually make any changes. So instead, we separate it, and run it as needed (as
# we change the package list).
: #: Install all our dev packages# This task generates documentation and opens a web browser, so it should only
# run on the developer's workstation.
#
: #: Build documentation from Rust source files: #: Run unit tests : #: Clean up so we can rebuild from scratch: #: Launch the hello_web example application: #: Run the portunusd server: