first version.
[build-srcpkg.git] / bin / features.md
blob0fe974c39dfcb7a31dee55852ea3fc800be03515
2 [idea]
3 @ arg desc str: combine param name & var name & on_xxx into param name.
4   define '|=optvname' only, used as var name, and 'on_optvname' without param.
5   define '|=<optvname>', opt param name is also the var name, and param must be
6     existing.
7   define '|=[optvname]', param is optional.
9 @ cmpl distclean, delete src backup file generated by auto-utils.
10 @ update things in very publish or build(dev), or in fixed date. eg: lisence.
12 [todo]
13
14 # dev runs err.
15 # args.shlib bug. read note in 'cmpl', check dispaly & on_xxx() in args.shlib
16 # src file content checking. file-hdr, email, prog-name, param & helper, 
17   test-items, ... (scripttest/codegen/cmpl/srcpkg/dev)
18 + default/test/unittest/devtest/codegen/
19 # construct
21 @ scripttest & codegen
22 # test file name format loading before running test.
23 # invoke list_full_content() run test_item()
24 # generate .catalog file by arg desc_str.
25 # codegen, catalog file in current dir, gen code in current dir.
29 @ cmd opt depend on cmdlist
31 @ construct
32 # trim files in build/, for user aspect.
33 + doc/<name>.pkginfo, srcpkg info.
34 + compiler.lst, supported compiler and version in list.
35 + arch.lst, supported arch & system in list.
36
37 + build.dot, subcmd & dest build dependence sequence.
38 + deplibs/*, dest/dest-<destname>/<libname>.deplib
39 + instpkg/*, install pkg structure desc info.
40
41 + tools/build-srcpkg/platform/*, toolchain.
42 + dest/dest-<destname>/*, compiler interface in build.
43 # doc
44 # genpkg/install
45 # standard cmdline interface (<NONE>/clean/all/install, default/example/test/
46   doc/genpkg).
47 # test build in diff arch, release/debug.
48 # testing items.
49 # build.dot
55 @ srcpkg
56 # devinfo, author, org, system, compiler, std timecost test unit, cmdlist
57 # pkgwizard, for vars in doc/<pkg>.pkginfo
58 # pkginit, init dir in srcpkg, and compile blank dest just for a hello-word.
59 # pkgchk, check srcpkg dir if it is a standard srcpkg.
60 # pkgreg
62 @ cmpl for build
63 # debug/release build
64 # envchk/dep, doc, etz/dirs,genpkg/install
66 @ dev
67 # codegen/unittest/devtest/...
68 # version/webpages/publish
69 # devchk/scan
71 @ stdcode
72 # code in tools/build-srcpkg/shlib/*
73 # shlibinc
74 # stdio.shlib, args.shlib
75 # others
76 @ *shlib
77 # shlibinc/imi
84 @ autohdr
85 # c lang define data & func entity in .c file, defines proto type in .h file
86   autohdr conver .c to .h.
87 # file hdr info sync.
88 # none static var & func export, or only exort with 'EXPORT' prefix, which can
89   be a blank macro define.
90 # export func generate func-table struct define & init by rule with its name.
92 @ c string buffer
93 char *str="\n" \
94 "string line 1.\n" \
95 "string line 2.\n" \
96 "\n"
97 # input normal string, and output in c buffer format.
98 # others, for regex, ...
100 @ cpsrc
101 # copy a src file with relative file modification. .h in .c, .c in Makefile.
103 @ dbglogview(dbglv)
104 # monitor a pipe, output dbgout info.
105 + if file not exist, invoke inotify to waiting until it's created.
106 + if file fd closed in other end, record into <pipename>.pipe.log.
107 + dbgout info in normal can be log into <pipename>.log.
109 # using TUI to view in multiple.
115 ############################################################################
117 [doc-about]
118 @ param-of-cmpl-dev.md
119 @ shlibinc-trim.md(for code trim in tmp)
120 @ stdcode.md (stand sh script)
123 [external]
124 @ reglxgmr
125 @ shlib
126 @ recutils
127 @ idutils/global/*cflow
128 @ graphvize
130 ############################################################################
132 [curr]
133 @ scripttest, it's a general test utility writen by sh script.
134 @ codegen, generate dirs & files in srcpkg by a .catalog file.
137 [build]
138 # read the doc param-of-cmpl-dev.md for parameter info.
139 @ construct/build/cmpl, 
140   it's a building program for srcpkg. it's equal to the features implemented in 
141 a Makefile.
142   this program is public and terminal user oriented.
143 @ srcpkg, 
144   general operations on srcpkg.
145   this program is srcpkg maintainer oriented.
146 @ dev, 
147   it include features in program of srcpkg, otherwize, it do operations in 
148 develop.
149   it's a developer oriented program.
152 [SE]
153 @ devtask, develop procedure mngr, maintain tasklist in todolist, do 
154   cooperation work between developpers.
155 @ feature/sedoc, generate feature-list, todolist, changelog. these doc is the
156   data file in develop, and also the doc to terminal user.
157 @ tagdoc, it's a demand doc orgnize program.
160 [auto-utils]
161 @ scripttest
162 @ version
163 @ modify, 
164 @ optgen(args.shlib)
165 @ md2html
166 @ apidoc
167 @ dbglogview
168 @ spellchk
169 @ symbname
172 [code]
173 @ codegen, 
174 @ codetmpl, 
175 @ codelem
176 @ codesim
177 @ codehint
178 @ codefmt
179 @ codedbg
180 @ codeanalyze
184 @ codesync, ??
188 [devutils]
189 @ ioredir, redir stdio to named pipe.
192 @ codelem
193 # elem output
194 # exported var & func ==> .h with param & comment update.
195 # exported var & func ==> struct ==> FuncTbl ==> name table
196 # update file hdr ==> .h
204 ####################################################
205 # ref: doc/designdoc/2.srcpkg-dir-struct.md
208 ## from blank to install pkg
209 ----------------------------
211 # creation
212 dev devinfo
213 dev pkgwizard
214 dev pkginit
215 dev pkgchk
216 dev pkgreg
217 vi doc/designdoc/module-design.catalog
218 vi doc/designdoc/testing.catalog
219 dev codegen
220 dev scan
222 # design
223 vi doc/designdoc/module-design.catalog
224 codegen -y
225 vi doc/designdoc/testing.catalog
226 scripttest -y
227 dev scan
229 # coding
230 vi src/<...>
231 cmpl
232 dev unittest
233 dev commit
235 # integrate
236 cmpl clean
237 cmpl default
238 dev devtest
239 cmpl test
241 # doc
242 cmpl mandoc
243 cmpl pdfdoc
244 cmpl htmldoc
245 cmpl umdoc
247 # publish
248 dev clean
249 dev all
250 dev devtest
251 cmpl clean
252 cmpl all
253 cmpl install
254 cmpl test
255 cmpl clean
256 dev vinc<1|2|3>
257 cmpl srcbak
258 dev publish
260 # terminal user
261 wget https://<...>
262 tar xvf <...>.tar.gz
263 cd <...>
264 ./cmpl.sh all
265 ./cmpl.sh install
266 ./cmpl.sh test
270 # files in dir
271 --------------
278 ----------