...alright, maybe not that badly, I have used them for much smaller projects in the past and they were great, but I'm attempting to compile the PUMonitor utility here and that provided makefile doesn't work with my VAC 3.6.5 install.
So help me out please, my eyeballs are red from reading about NMAKE32 (as opposed to NMAKE), but clearly I'm still confused...LOL!

Here is what I have:
1) structure of the project source files
Directory of G:\code\source\os2\pumonitor\src
11-24-20 9:25a <DIR> 0 ---- .
8-25-18 5:42p <DIR> 369 ---- ..
2-19-02 1:13p 302 0 a--- build.opt
8-25-18 5:42p <DIR> 0 ---- include
2-19-02 1:13p 105 0 a--- library.rsp
11-23-20 11:50p 2,151 35 a--- makefile
8-25-18 5:42p <DIR> 0 ---- obj
11-24-20 10:24p 2,330 35 a--- pumonitor.mak
8-25-18 5:42p <DIR> 0 ---- source
Basically the *.c and *.cpp is all in source, *.h and *.hpp in include, and the remaining *.ico, *.rc and *.lib files are in source.
2) 'makefile' is the original makefile distributed with the project source, but despite the fact that it reads like it's meant to work with VAC, it doesn't work with my 3.6.5 setup here
3) 'pumonitor.mak' is my attempt at converting the project sources and the build process as I understand it to be structured in the original 'makefile' into a VAC 3.6.5 version
Sooo...having said that, when attempting to process with NMAKE32 I get the following error:
MAK3035: Do not know how to make target 'cell.cpp'.
Now this part is really confusing for me, because if I force the full path for the source files in the target, all works fine, here is the section we are talking about:
cell.obj : cell.cpp .\include\cell.h .\include\cvars.h .\include\util.h
...substituting with
cell.obj : .\source\cell.cpp .\include\cell.h .\include\cvars.h .\include\util.h
...now allows me to pass that test but still fails with the following:
MAK3035: Do not know how to make target 'cell.obj'.
...which of course can be addressed if I provide an explicit command, such as:
$(CC) /c /Fo$@ $<
...then compiles, although it still producs a pile of errors:
...
icc.exe /c /Focell.obj .\source\cell.cpp
IBM* C and C++ Compilers for OS/2*, AIX* and for Windows NT**, Version 3.6
(C) Copyright IBM Corp. 1991, 1997 All Rights Reserved.
* registered trademarks of IBM Corp., ** registered trademark of Microsoft Corp.
.\source\cell.cpp(19:10) : error EDC3008: Source file <cell.h> cannot be opened.
.\source\cell.cpp(20:10) : error EDC3008: Source file <cvars.h> cannot be opened.
...
All of this begs the question: why isn't my Inference Rule working? It clearly spells out where to find all the *.h and *.hpp files....so what gives?
Here is the Inference Rule section in my makefile:
# The Make utility looks in the directory specified by frompath for files with the fromext extension.
# It executes the commands to build files with the toext extension in the directory specified by topath.
# {frompath}.fromext{topath}.toext
# commands
# :
{.\source}.c{.\obj}.obj:
$(CC) /c /Fo$@ $<
{.\source}.cpp{.\obj}.obj:
$(CC) /c /Fo$@ $<
{.\source}.lib{.\obj}.obj:
$(CC) /c /Fo$@ $<
{.\source}.rc{.\obj}.res:
$(RC) /r $< $@
{.\include}.h{.\obj}.obj:
$(CC) /c /Fo$@ $<
{.\include}.hpp{.\obj}.obj:
$(CC) /c /Fo$@ $<
This is far beyond anything I've tried before...so obviously I'm lost!!! lol