Makefile.os2 actually supports a lot of targets, most of which are not maintained,
"Enter `make -f os2/makefile.os2 target' from the main"
"UnZip directory, where target is one of:"
" msc mscdebug mscdos ibm ibmdyn ibmdebug ibmprof"
" ibmdll ibmdyndll ibmdebugdll ibmprofdll"
" metaware borland gcc gccdyn gccdebug gccdos gccwin32"
" klibc watcom watcom16 watcomdos watcom16dos pmodew watcomwin32"
Previously I have built earlier versions with GCC.
Thought I'd try building with OW and VACCP3.08. Both fail on ctype.h,
wcl386 -bt=os2v2 -zq -Ox -s -I. -c -Zp1 -DOS2 -DASM_CRC unzip.c
g:\WATCOM\h\ctype.h(72): Error! E1009: Expecting ')' but found '('
g:\WATCOM\h\ctype.h(72): Error! E1094: Function cannot return a function
g:\WATCOM\h\ctype.h(72): Error! E1094: Function cannot return a function
g:\WATCOM\h\ctype.h(72): Error! E1044: Variable 'IsUpperNLS' has incomplete type
g:\WATCOM\h\ctype.h(72): Error! E1026: Invalid declarator
g:\WATCOM\h\ctype.h(72): Error! E1009: Expecting ',' but found ')'
g:\WATCOM\h\ctype.h(72): Error! E1026: Invalid declarator
...
more similar errors for isxdigit(), ToLower(), ToUpper(), isblank() with some using the NLS version.
icc -Q -O -Gs -I. -c -Sm -Sp1 -DOS2 unzip.c
os2/os2cfg.h(29:11) : warning EDC0236: Macro name tzset has been redefined.
os2/os2cfg.h(152:8) : warning EDC0234: Expecting a new-line character on #endif directive.
G:\OS2TK45\H\LIBC\ctype.h(50:33) : error EDC0275: Unexpected text '(' encountered.
G:\OS2TK45\H\LIBC\ctype.h(50:23) : error EDC0033: Function IsUpperNLS is not valid. Function cannot return a function.
G:\OS2TK45\H\LIBC\ctype.h(50:33) : error EDC0172: Parameter type list for function IsUpperNLS contains parameters without identifiers.
G:\OS2TK45\H\LIBC\ctype.h(50:33) : error EDC0276: Syntax error: possible missing '{'?
with more errors in stdlib.h and lots of syntax errors as well as others in unzpriv.h and then in unzip.c
I guess I just don't understand C++ very well as the ctype.h errors seem weird. Also very little experience with the compilers.
nmake or make with MAKESHELL=cmd.exe work, wlink even with the recommended parameters like -ms fails, differences from Watcom?