Add "clean" target
[rrq/newlisp/packnl.git] / packnl.8.adoc
1 = packnl(8)
2 :doctype: manpage
3 :revdate: {sys:date "+%Y-%m-%d %H:%M:%S"}
4 :COLON: :
5 :EQUALS: =
6 :NEWLINE: \n
7
8 == NAME
9
10 packnl - Pack newlisp scripts into an embedded binary.
11
12 == SYNOPSIS
13
14 *packnl* *-w* _binary_ _main.lsp_ _member-option_* +
15 *packnl* *-u* _binary_ _path_ +
16 *packnl* *-t* _binary_
17
18 == DESCRIPTION
19
20 *packnl* is a utility to package up a newlisp application into a
21 binary using the embedding feature of newlisp. Such a packed binary
22 will have the special +incore.lsp+ as embedded script, and it is then
23 extended with the given application files in a "simple archive"
24 format.
25
26 The first application script is "main script" and it is loaded
27 automatically. Additional application scripts and files are set up to
28 be available as overriding filenames for the +load+, +read-file+ and
29 +file?+ functions.
30
31 E.g., where the running script has the expression "(load _file_)" then
32 _file_ is first looked up as being an embedded member (script), and
33 only secondarily looked up in the filesystem.
34
35
36 == OPTIONS
37
38 === Command Options
39
40 *-w* _binary_ _members_::
41
42 The *-w* command option is used for writing an embedded newlisp binary
43 with the nominated scripts. The subseqent arguments nominate the
44 scripts to include, and optionally nominate +ar+ style libraries of
45 scripts to include from, or include a library in full, as well as
46 optionally change the input directory for resolving subsequent script
47 names. See *Member Options* below.
48
49 *-u* _binary_ _path_::
50
51 The *-u* command option is used for unpacking an embedded binary into
52 the nominated directory.
53
54 *t* _binary_::
55
56 The *-t* command option is used for enlisting then names of the
57 included members of an embedded binary.
58
59 === Member Otions
60
61 _member_::
62
63 Member arguments other than the options below are undestood to
64 nominate scripts to embed with file names as given.
65
66 *-a* _library_::
67
68 The *-a* option installs the script members from a given +ar+ style
69 library to be available for embedding. The subsequent arguments
70 nominate members to include.
71
72 *-A* _library_::
73
74 The *-A* option incorporates all the script members from the given
75 +ar+ style library into the embedding.
76
77 *-C* _path_::
78
79 The *-C* option changes the working directory for the program so that
80 subsequent relative pathnames (file members and libraries) are found
81 relative that working directory.
82
83 == NOTES
84
85 Note that _ar_ typically adds members using their basenames. With
86 +packnl+ packaging the added modules would thus be loaded by
87 basenames.
88
89 == SEE ALSO
90
91 *newlisp*, *ar*
92
93 == AUTHOR
94
95 Ralph Ronnquist <ralph.ronnquist@gmail.com>