Mail Archives: djgpp/2003/01/27/09:15:08
Stephen Wade <maitrek AT austarmetro DOT com DOT au> wrote:
> This is my frist attempt at using a makefile, and every time i run "make"
> from the MS-DOS prompt in windows 98 in a directory which contains this
> makefile
Your makefile has several potential or guaranteed problems.
> (called 'makefile')
> #------------------
> vpath %.c ..\src
^----- use / here, if possible.
The DJGPP port tries to allow backslashes, but in case of doubt,
forward slashes will work better. The original Unix Make syntax is
not very friendly to backslashes as directory separators.
(Same for drive letters).
> vpath %.h ..\src
> CC=gcc.exe
> vexle : vexle.o vbe3.o mouse.o
> cc -o vexle vexle.o vbe3.o mouse.o
Drop all these "cc" lines. They won't work, for three reasons:
1) You indented them with only a space. Unix Makefile syntax insists on
a literal <TAB> character.
2) 'cc' is not the name of the compiler. write $(CC), or just 'gcc',
instead.
3) If you provide the commands to be run, with all their arguments, Make
can't properly carry out the automatic filename substitutions governed
by your "vpath" directives above.
> I get the output
> "make.exe: *** No targets specified and no makefile found. Stop."
> Why is it saying this? As far as I can tell I have a valid target,
You didn't *name* one, on the "make" command line, is what this
message means.
> and the makefile is *definitely* there (I'm not that dumb - or am i
> :) )
Just to be sure: check that "dir makefile" really does list the file
as just "makefile", _Not_ "makefile.txt" or some other Windows
silliness that you wouldn't see in the default settings of Explorer.
Never trust what Explorer shows you unless you changed the relevant
settings yourself.
--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -