Date: Mon, 10 Jul 1995 18:09:02 +0300 (IDT) From: Eli Zaretskii To: Elisha Wiesel Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: LIBGRX Makefiles for GnuMake? On Mon, 10 Jul 1995, Elisha Wiesel wrote: > having consulted the FAQ's to no avail, I turn to you. > > I cannot "make", or "make install" any of the programs, drivers, installation > files, or subdirectories included in the libgrx package. The errors > range from things like > > !if $d(DEBUG) > > not being recognized, to things like having "tcc" hardcoded in > the makefiles. > > Is there a set of *working* makefiles for use with the GNU Make > utility, could someone let me know where? I'd really like to > get this libgrx library up and running on my machine. What version of the FAQ do you have? The latest one (available as faq102.zip from the same place you get DJGPP) explaines the reasons and the ways to deal with them in section 10.10: 10.10 Q: When I try to recompile the LIBGRX graphics library, I get error messages from Make saying ``missing separator''. But I didn't even touch those Makefiles, so what gives?? A: LIBGRX was developed with Borland version of Make, so it uses features specific to that program. The reason for this is that with DJGPP Make, you cannot reliably run 2-3 levels of nested Makes. Therefore, to compile LIBGRX you have to use Borland's Make or else convert all the Makefiles to GNU Make syntax. If you use one of the Borland's products, be sure not to use one of those which run in protected mode (like the one supplied with Borland C++), because it's incompatible with DJGPP (see Section 6.14 above); use Make from any Turbo compiler instead. If you want to convert to GNU Make, then here is a list of major differences: * Borland Make doesn't insist that commands in the rules start with a TAB (it can be blanks); GNU Make barfs on command lines which start with blanks. * The syntax for conditional directives is different: Borland syntax GNU syntax ------------------------------------------------------- !include "file" include file !else else !endif endif !undef symbol - !error "string" - !if expression - (use ifeq/ifneq or ifdef) !if $d(symbol) ifdef symbol !if !$d(symbol) ifndef symbol !elif - (use else and ifeq/ifneq) OTOH, why do you need to recompile at all, libgrx comes with a precompiled library file which you only have to link with your programs.