Open watcom f77 - make file problems

  • Thread starter Thread starter eddyq
  • Start date Start date
  • Tags Tags
    File
Click For Summary
SUMMARY

The discussion centers on issues encountered while using Watcom 1.9 for building a project with makefiles. Users reported multiple errors related to invalid macro names, specifically when using the dollar sign ($) in file names. The solution identified was to remove the dollar sign from the file names, which resolved the compilation errors. This indicates that Watcom's makefile parser interprets the dollar sign as the beginning of a macro variable, leading to confusion and errors during execution.

PREREQUISITES
  • Familiarity with Watcom 1.9 compiler
  • Understanding of makefile syntax and structure
  • Basic knowledge of macro variables in makefiles
  • Experience with Fortran programming language
NEXT STEPS
  • Research Watcom 1.9 makefile syntax and best practices
  • Learn about macro variable definitions and usage in makefiles
  • Explore common error messages in Watcom makefile execution
  • Investigate naming conventions in Fortran to avoid compilation issues
USEFUL FOR

This discussion is beneficial for developers working with Watcom 1.9, particularly those involved in Fortran programming and makefile management. It is also useful for anyone troubleshooting compilation errors related to makefile syntax.

eddyq
Messages
8
Reaction score
0
I loaded Watcom 1.9. I built a simple project and added a simple file with just a CALL EXIT and END. But it gives a bunch of make errors. Does anyone know what is going on?

--- make files ---
W:\1830\port\test>type test.mk
project : W:\1830\port\test\test.exe .SYMBOLIC

!include W:\1830\port\test\test.mk1

W:\1830\port\test>type test.mk1
!define BLANK ""
W:\1830\port\test\TRBL$.obj : W:\1830\port\test\TRBL$.FOR .AUTODEPEND
@W:
cd W:\1830\port\test
wfc386 TRBL$.FOR -d2 -q -dep

W:\1830\port\test\test.exe : W:\1830\port\test\TRBL$.obj .AUTODEPEND
@W:
cd W:\1830\port\test
@%write test.lk1 FIL TRBLtest.exeobj
@%append test.lk1
!ifneq BLANK ""
*wlib -q -n -b test.imp
@%append test.lk1 LIBR test.imp
!endif
!ifneq BLANK ""
@%append test.lk1
!endif
*wlink name test d all sys nt op m op maxe=25 op q op symf @test.lk1


W:\1830\port\test>


--- output ---
cd W:\1830\port\test
wmake -f W:\1830\port\test\test.mk -h -e
W:\1830\port\test\test.mk1(2): Error(E08): Invalid macro name ()
W:\1830\port\test\test.mk1(2): Error(E08): Invalid macro name ()
W:\1830\port\test\test.mk1(7): Error(E08): Invalid macro name ()
Error(E02) Make execution terminated
Execution complete
 
Technology news on Phys.org
I think the problem is the $ characters.

In a makefile you can define a "macro variable" by saying something like
Code:
SOURCE = one.f two.f three.f
and then reference it by saying
Code:
wfc386 ${SOURCE}
which would be is expanded into the command
Code:
wfc386 one.f two.f three.f
When you say things like
Code:
W:\1830\port\test\TRBL$.obj,
I guess Make thinks the $ is the start of a macro name, and then can't make sense of the "."

Sorry, but I don't use watcom so I can't guess what you are actually trying to do here.
 
You hit the nail on the head ... I removed the $ and it compiles OK now.

Thanks
 

Similar threads

Replies
1
Views
4K
  • · Replies 3 ·
Replies
3
Views
13K