From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52194 invoked by alias); 21 Nov 2016 19:10:09 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 52141 invoked by uid 89); 21 Nov 2016 19:10:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=H*M:online, H*r:encrypted X-HELO: mailout08.t-online.de Received: from mailout08.t-online.de (HELO mailout08.t-online.de) (194.25.134.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 21 Nov 2016 19:10:06 +0000 Received: from fwd10.aul.t-online.de (fwd10.aul.t-online.de [172.20.26.152]) by mailout08.t-online.de (Postfix) with SMTP id EBB5F41D7591 for ; Mon, 21 Nov 2016 20:10:03 +0100 (CET) Received: from [192.168.2.28] (E4iu5EZfZhqv0KZeBqCVt2lwI+vTH+qbNGerdcvK6AnOx1Xf7o1UU-wel89svr+gn0@[91.59.18.211]) by fwd10.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-SHA encrypted) esmtp id 1c8tyR-07EUlc0; Mon, 21 Nov 2016 20:09:51 +0100 Subject: Re: Standard LEX variable doesn't work in Make. To: cygwin@cygwin.com References: From: =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= Message-ID: <11448207-52c8-6745-999f-48a4534bbc41@t-online.de> Date: Tue, 22 Nov 2016 21:16:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00266.txt.bz2 Am 21.11.2016 um 17:57 schrieb Kaz Kylheku: > I'm changing a FOSS project to rely more on standard Make > vars such as CC and CFLAGS and such: use $(CC) for > the compiler unless told otherwise, incorporate $(CFLAGS) > if it is defined, and so forth. This is friendly toward > distro package maintainers. Not really. Package maintainers will almost universally expect your source to have some kind of 'configure' script, which would take of this and most other such properties for you. > Anyway, even though my Cygwin installation has GNU Flex, > the lex command is nonexistent; thus the $(LEX) Make > variable fails. It's not $(LEX) that's failing here; it's the way you form expectations about what $(LEX) is supposed to be. The value of $(LEX) is clearly documented to default to 'lex' (see "info make implicit implicit"). > If the installation has some sort of lex, the > predefined $(LEX) variable should resolve to it. No. LEX is a modifiable variable, for the express purpose that it be set to what the system actually needs. Yes, that means _you_ are supposed to do that (or to set up tools outside make to do it for you). Morale: Make is not autoconf, nor does it want to be. One final note: your report is in no way specific to Cygwin, so this is almost certainly the wrong mailing list to send it to. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple