delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/05/28/03:30:49

Date: Sun, 28 May 1995 09:30:52 +0300
From: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
To: djgpp AT sun DOT soe DOT clarkson DOT edu, jips AT sol DOT unizar DOT es
Subject: GNU Makefiles' woes (was: No subject)

> LDDIRS = -Ic:\c\djgpp\contrib\libgrx\include -Lc:\c\djgpp\contrib\libgrx\lib
> [snip]
> 	Everything is Ok except the final step, when it tries to link with ld.
> It gives this Output:
>
>	ld.exe: cannot open -lgrx: file not found
>	make.exe: *** [proplot] Error 1

This is a ususal stumbling point for every new user of GNU Make who is a
recent DOS convert: you must either use the forward slash `/' or protect
the backslash with another backslash.  Backslash is an escape character in
GNU Make, so they got eaten by Make and gcc never sees them.  One of these
should work:

LDDIRS = -Ic:\\c\\djgpp\\contrib\\libgrx\\include -Lc:\\c\\djgpp\\contrib\\libgrx\\lib

or

LDDIRS = -Ic:/c/djgpp/contrib/libgrx/include -Lc:/c/djgpp/contrib/libgrx/lib

(the second variant is the recommended one, since it's portable to Unix).

>	makefile:10: *** missing separator.  Stop.

This means some of your rules start with blanks, not tabs.  GNU Make insists on
a TAB as first character in every command in the rule.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019