improve of cmpl.
[bush.git] / build / readme.build.txt
blob5173f5caf1afe3421d78145a74da06d16d45f47c
3 # TBD:
4 #   in platform/* & toolchain_cfg.imi
5 # MACHINE ==> ARCH
6 # MACHTYPE ==> CROSS/CROSS_COMPILE
10 @ _EVL×Ö·û´®Ê¹ÓÃ""ºÍ''ʱ£¬²ÎÊýµÄ²»Í¬¡£¶Ô×Ö·û´®ÄÚµÄ"ºÍ\×Ö·ûµÄ´¦ÀíµÄ²»Í¬¡£
11 @ ¶¨ÒåFORCE_LINK£¬ÓÃÓÚÉèÖÃLINK¡£ÔÚtoolchain/*.imiÎļþloadÖ®ºóÉèÖá£
13 @ EVL
14 # srcpkg info(doc/SRCPKG_INFO.imi, tools/build-srcpkg/info/SRCPKG_DEF_INFO.imi)
15 # dirs(tools/build-srcpkg/info/SrcPkgDirs.imi)
16 # files(tools/build-srcpkg/info/SrcPkgDirs.imi)
17 # cmpl param(build/dest/dest-<DEST_NAME>/*)
18 # build steps
19 # toolchain(cross&cmd-fmt)(tools/build-srcpkg/platform/*, build/dest/dest-<DEST_NAME>/parameters.imi)
20
24
25 # abstract attributions, category, make the attr info structure of things, and
26   matching with familiar/well-known data model.
27 # datalization programming.
28 # sh script is a natual aspect.
30 @ srcpkg scale
31 # use func in toolchain.shlib to write script to build program.
32 # use cndkube.shlib to build one dest program.
33 # use constructor.shlib to build multi-dest program.
34 # SRCPKG_INSTPKG_FILE_LIST include instpkg in curr srcpkg, and also in sub 
35   srcpkg.
38 [TBD]
39 @ build one dest by func in cmpl.sh
40 @ reglxgmr
41 @ testing (build-pkg/testing/funclist.catalog)
42 @ trim
43 # all EVL param should be init only by single quote.
44 # dir _EVL in fname.sh & SrcPkgDirs.imi
45 # ext name in fname.sh
46 # compile param with _Y sfx.
47 # param in general/parameters.imi
48 # SRCPKG_INFO.imi
49 # paths.shlib & PortableDirs.imi
50 # param in platform/parameters.imi
51 @ fix name of MACHINE to ARCH
52 @ system env info
53 # auto detect MACHIN/OS/VENDOR
54 # append default param for TARGET/BUILD/HOST by ARCH param
55 # append compiler lib path, and curr system lib path for linking
56 @ put code of step to curr code for bush compiling.
57
60 @ info
61 # cross & multiple platform
62 = + compile opts (arch/opt)
63 = + cross
64 # cmd opts
65 # srcpkg info
66 # srcpkg & instpkg dirs
67
68 # deplibs
69 # default build param
70 # one dest build param
71 # doc
72 # subdirs/subsrcpkgs
76 PortableDirs.imi        |
77 SRCPKG_DEF_INFO.imi     | ==> SRCPKG_INFO.imi ==> libxxx.dep
78 info/author_*.imi       |
79 info/org_*.imi          |
81 DEF_BUILD_PARAM.imi     |
82 SRCPKG_INFO.imi         |
83 platform/*.imi          | ==> build.imi ==> cmpl.sh
84 PortableDirs.imi        |
85 SRCPKG_DIRS.imi         |
89 @ pub info (defined in doc in SRCPKG_INFO)
91 @ srcpkg info
92 # general(time/date/tp)
93 # author
94 # org(srcpkg)
95 # version
96 # srcpkg default info
97 # srcpkg(file, web, doc, build, dev)
98 # read pkg info in br (DL_URL/DL_TYPE/SRCPKG_FILE/BUILD_TYPE)
100 @ build info
101 # srcpkg dirs (SRCPKG_DIRS) (docdir/designdir/umdocdir/webdocdir/mandocdir/intldir/srcdir/libdir/bindir/shlibdir/exzdir/testdir/builddir/tooldir/resdir)
102 # default build param (DEF_BUILD_PARAM) (CFLAGS/LDFLAGS/ARFLAGS/ASMFLAGS/MISC_CFLAGS/MISC_LDFLAGS, LEX/GMR/TOKEN/ASM/CC/CPP/LINK/SLIB/DLIB/STRIP/NM/SIZE/OBJDUMP/OBJCOPY/LINT/GCOV)
103 # curr build param (build.imi) (CFLAGS/LDFLAGS/ARFLAGS/ASMFLAGS)(MACRO_DEF/INC_PATHS/LIB_PATHS/INC_LIBS, INC_SLIBS/OPTIMIZE_OPT/MISC_OPT, EN_SRCHDR_DEP)
104 # various list for build (C_SRC_FILE.list) (ASM_SRC_LIST_Y/CPP_SRC_LIST_Y/C_SRC_LIST_Y/OBJ_LIST_Y/SLIB_LIST_Y/DEST_LIST_Y/INSTPKG_LIST_Y)(SRCS_Y/OBJS_Y/SLIBS_Y/... for compact)
105 # dest type for build (EXE/DLIB/SLIB/EXE_LIST)
106 # config info file (config.imi)
107 # extern dep (DEP_SRCPKG_LIST_Y/DEPLIB_LIST_Y)
109 @ run-time info
110 # dirs (dist/system/local/user/remote)(SRCPKG_SOFT_DIRS: bin/sbin/lib/share/var/etc/drv/svc/doc)
111 # ext
113 @ script lib
114 # toolchain(plat)
115 # cli config
116 # cli subcmd opt
117 # build env check