sbsv1/abld/group/info.txt
author kelvzhu
Thu, 08 Jul 2010 11:07:48 +0800
changeset 611 75fabbc53db5
parent 599 fa7a3cc6effd
permissions -rw-r--r--
Release-Update
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
599
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     1
SETUPPRJ.BAT
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     2
============
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     3
SETUPPRJ will create a BLD.BAT file in the GROUP directory and
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     4
read the LI.PRJ file in other second-level directories, creating
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     5
a BLD.BAT in each which will provide commands for building any
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     6
.BAT, .PL and .PM files to \epoc32\tools.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     7
SETUPPRJ will also create \E32TOOLP\GROUP\E32TOOLP.REL
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     8
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     9
PERLPREP.BAT
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    10
============
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    11
PERLPREP strips "use strict;" debugging lines out
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    12
of .PL and .PM files and perl warning generation -w flag out of .BAT
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    13
files.  It is used for REL builds of E32TOOLP.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    14
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    15
RELEASING E32TOOLP
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    16
==================
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    17
make changes to source
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    18
change release.txt - update the date and "made by" details
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    19
add any new files which contain a version number to setver.bat
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    20
(remember perl files can use the service in E32TPVER.PM).
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    21
cd \e32toolp\group
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    22
run setver [version] to apply the latest version number.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    23
cd \e32toolp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    24
cvs commit to commit the version changes
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    25
cd \e32toolp\group
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    26
do setupprj to create the batch and .rel file
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    27
do bld clean
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    28
do bld rel
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    29
Prep the tree for release to PVCS:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    30
cd \
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    31
perl \tools\pvcs-release.pl -f e32toolp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    32
Tag the modules you're releasing:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    33
cd \e32toolp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    34
cvs tag E32TOOLPvNNN
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    35
Move the Latest-Release tag to the new files:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    36
cvs rtag -d Latest-Release e32toolp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    37
cvs rtag -r E32TOOLPvNNN Latest-Release e32toolp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    38
cd \e32toolp\group
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    39
Create a vdiff.lis file with mnt difsrc <previous release>
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    40
do set vcsid=BASETEAM
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    41
do mnt lock  to make sure BASETEAM has the lock for all li.prj files
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    42
do mnt putsrc
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    43
do mnt versrc
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    44
do mnt putrel
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    45
do set vcsid=<your vcsid>
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    46
cd \e32toolp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    47
Tag the release as complete (on the main branch)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    48
	cvs tag Release-NNN-complete
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    49
go to the root of a clean drive
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    50
getrel e32toolp tools <version>
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    51
check it basically works - eg bldmake, makmake /mmp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    52
rd /s /q epoc32
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    53
pgetbld e32toolp group
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    54
setupprj
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    55
bld rel
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    56
mnt valid
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    57
check \e32toolp\valid.lis
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    58
update Lotus Notes
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    59
update tlmakmak.rtf
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    60
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    61
OTHER INFO
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    62
==========
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    63
CASE SENSITIVITY
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    64
	Perl pattern-matching is twice as quick if it's done case-sensitive - keep
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    65
	all data uppercase except when it's actually being outputted - at that point
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    66
	it  can be formatted by doing something like ucfirst lc ...
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    67
	This is important so that pattern-matching done on data can assume
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    68
	uppercase.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    69
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    70
CPP
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    71
	cpp assumes with -M and -MG that missing user headers live in the same directory as the
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    72
	source while missing system headers live in the first system include directory specified.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    73
	This is not in fact true.  CPP always searches the directory containing the source file
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    74
	for headers if no user include path is specified explicitly.  Then, and only then, if the
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    75
	-MG option is specified to -M cpp will just bang out the missing files without a path,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    76
	whether or not they exist in the current directory or not.  This means that if cpp is
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    77
	invoked in a makefile, (this probably applies to gcc too), cpp will fail unless these headers
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    78
	without a path exist in the working directory. 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    79
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    80
	cpp doesn't replace lines of text within #defines within other #defines 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    81
	with blank space if the lines aren't applicable for the current set of
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    82
	macros.  This can upset makmake's reporting of correct line numbers for errors.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    83
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    84
	cpp documentation states that a space is put at the end of a macro expansion
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    85
	"most of the time".  We need to strip this back out after cpp has done its
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    86
	preprocessing in prepfile.pm.  By expanding macros to themselves with three
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    87
	leading underscores we can tell where a macro has been expanded and strip
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    88
	the space added.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    89
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    90
MAKMAKE MODULE DESIGN
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    91
	the IDE/CL modules should provide
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    92
	a complete list of possible build variants and be designed in such a way that a particular
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    93
	implementation would not have to use all the builds if it didn't want to.  I think this
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    94
	will be the case already.  So, for example, if MISA could not do RELGDB the the CL_ARM code
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    95
	should never assume that all builds are required (except DEB or REL, which we must insist upon as a
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    96
	default in some cases).
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    97
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    98
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    99
QUOTES IN MAKEFILES
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   100
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   101
	Must be consistent with quotes round long filenames.  If remove quotes round .in
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   102
	file as a target to appease ar, the target will not be found and relgdb will not
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   103
	build.  It seems that without the quotes the filename is parsed so the leading .\
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   104
	on the front of the relgdb paths no longer makes a difference so rel and relgdb
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   105
	targets are considered the same.  This means that rules for the rel and relgdb .in
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   106
	file, if it is around this target that the quotes are removed, and all subsequent
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   107
	dependencies and rules, will be done for each source file - eg gcc looks like it
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   108
	will be called twice with different flags.  For the relgdb build nmake will complain
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   109
	that it doesn't know how to build the .in file because it sees it as a dependency of
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   110
	the main target with quotes and doesn't recognise it as the same thing appearing later
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   111
	as a target without quotes because the .\ is parsed out.  The rel build doesn't complain
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   112
	because it has no preceding .\ to parse out.  In short, filenames without quotes are parsed and
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   113
	amount to the same thing as filenames with quotes if the only difference between the two is the
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   114
	quotes and not the path itself.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   115
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   116
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   117
COMPILER FLAGS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   118
==============
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   119
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   120
ALL BUILDS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   121
/nologo    - dont display the banner
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   122
/Zp4       - Zp[n] - pack structs on n-byte boundary (whatever that means) /W4        - top level warnings
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   123
/Fo<file>  - specifies object file (left blank so base name taken from .cpp     
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   124
file)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   125
/c         - compile only, don't link because we'll be linking later
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   126
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   127
SPECIAL CASES
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   128
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   129
/ML     - Use run-time library -> Single-threaded       (WINS exe release) /MD     - Use run-time library -> Multi-threaded DLL    (WINS dll release)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   130
these two flags have "d" appended for debug builds so that the respective debug run-time library is used instead.  These flags are probably unnecessary for all projects not using Win32 libraries but MSVC puts them in by default, and it doesn't do any harm to have them I don't think
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   131
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   132
/O1     - minimum size optimisation (WINS release)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   133
/Ob1    - disable inline function expansion (WINS release)  (reason uncertain!)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   134
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   135
/Od     - disable optimisations (WINS debug)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   136
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   137
/Zi     - generate debugging info into program database (WINS debug)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   138
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   139
/FR     - generate browse info (WINS debug)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   140
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   141
/Fd<file>     - name program database (WINS debug)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   142
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   143
/X      - suppresses searching of include directories specified by environmental
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   144
include variable (so used for all projects not using Win32 services)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   145
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   146
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   147
LINKER FLAGS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   148
============
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   149
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   150
ALL BUILDS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   151
/nologo                 - suppress startup banner /subsystem:windows      - MSVC always puts this in anyway /machine:IX86           - ditto
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   152
/out:<file>             - specifies filename for target /WARN:3                 - top-level warnings
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   153
/nodefaultlib           - don't use Win32 libraries (if any are being used then 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   154
they are listed before this flag and so are not        
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   155
affected by it)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   156
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   157
SPECIAL CASES
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   158
/baseaddress:<hex num>  - base address for DLLs, specified by user /entry:"_E32Startup"    - EPOC32 entry point for EXEs /entry:"_E32Dll"        - EPOC32 entry point for DLLs
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   159
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   160
/incremental:no         - (WINS release) - presumably so a full-link is always  
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   161
performed
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   162
/incremental:yes        - (WINS debug)  - presumably to save time linking-fully 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   163
when working on a project
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   164
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   165
/dll                    - (WINS dll targets)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   166
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   167
/pdb<file>              - (WINS debug) <file> names program database
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   168
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   169
/deffile:<file>         - (WINS dll targets) <file> specifies a def file to     
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   170
refer to if one is specified by the user
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   171
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   172
/implib:<file>          - specifies name of import library to be created for dll
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   173
targets if one is to be created
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   174
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   175
/debug                  - (WINS debug)  generates debugging information
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   176
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   177
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   178
SOURCES OF INFORMATION FOR MAKMAKE ETC
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   179
======================================
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   180
NMAKE Reference in MSVC help
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   181
Cygnus help files in R:\gcc\help - eg cpp.hlp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   182
Lotus notes - Epoc Software Design - Development Environment - suggestions
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   183
for better build procedures
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   184
Perl newsgroups