www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/06/11/14:01:34

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
From: Eric Christopher <echristo AT cygnus DOT com>
Newsgroups: cygnus.gnu-win32
Subject: Re: Visual Studio Makefiles
Date: 11 Jun 1999 10:50:31 -0700
Organization: Cygnus Solutions
Lines: 47
Message-ID: <odso7yd3tk.fsf@southpole.cygnus.com>
References: <C909A156E356D2119F1300A0C9CE774801DA745C AT SRVMAIL_FR>
NNTP-Posting-Host: southpole.cygnus.com
X-Newsreader: Gnus v5.4.52/XEmacs 20.2
To: cygwin AT sourceware DOT cygnus DOT com
DJ-Gateway: from newsgroup cygnus.gnu-win32

> Do anyone of you know what is the grammar of the Microsoft project files/
> Gnu makefiles? What do you think about a converter based on ANTLR ( a
> flex/Yacc like with a lot of enhancements)
> 

I was looking at something like this the other day and was unable to find
much of a grammar.  The basics are pretty easy to work off of, e.g.:

Rule:

target: deps
<tab>	commands
.
.
.


target: deps
<tab>	commands
.
.
.

This gives us:

rule -> target:<sp>deplist<CR>commandlist
target -> [a-z][A-Z]		<--- digits?
deps -> deplist|objectfilelist|targetlist|e
commandlist -> commandlist|command
command -> <tab>command
objectfilelist -> objectfilelist|object
targetlist -> targetlist|target


Combine this with macros:

MACRO(foo, bar)

And you have most of a makefile.

This sound about right to everyone?  The only problem that I have is
distinguishing Macros from targets... managing internal rules would be
interesting too, but basically this looks right afaict.

Comments?

-eric

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


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