[fpc-devel]improve makefile
Darek Mazur
darekm at emadar.com
Thu Jan 15 21:29:09 CET 2004
> What is proper? Windows is so broken for command line support, we try to
> support it as best as possible, but not to make it work less under the
unix
> platforms.
>
of course
> Why? Fixing it to c:/pp is also not good. And it means that PWD is not
> installed so it should already give an error.
if PWD is not installed -> error is at begin
ifeq ($(PWD),)
$(error You need the GNU utils package to use this Makefile)
and why is fixing at line and its good:
override FPCDIR=c:/pp
> Why fix it to c:/ ?
I don't test in detail, but I do this.
> Why remove the safety check? There must be a rtl or units dir else your >
installation is broken.
If I set something manual, that is not need safety check, but it may left.
I must test Your previous fix.
Darek
----- Original Message -----
From: "Peter Vreman" <peter at freepascal.org>
To: <fpc-devel at lists.freepascal.org>
Sent: Thursday, January 15, 2004 8:03 PM
Subject: Re: [fpc-devel]improve makefile
> At 19:17 15-1-2004, you wrote:
> >Hi
> > From several days I've try to make all fpc myself, but to do this under
> >WIN98 is not so clear that it can be.
> >I've found some bugs in makefile, and somebody may change FPCM to be
> >generated proper MAKEFILE
>
> What is proper? Windows is so broken for command line support, we try to
> support it as best as possible, but not to make it work less under the
unix
> platforms.
>
>
> >my 4 suggestion:
> >
> >--------1--------
> >/* current MAKEFILE
> >ifdef PWD
> >BASEDIR:=$(subst \,/,$(shell $(PWD)))
> >ifdef inCygWin
> >ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
> >BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
> >BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
> >BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
> >endif
> >endif
> >else
> >BASEDIR=.
> >endif
> >/** in last line change to ..,like FPCDIR
> >BASEDIR=c:/pp
>
> Why? Fixing it to c:/pp is also not good. And it means that PWD is not
> installed so it should already give an error.
>
>
> >--------2-----------
> >/* current MAKEFILE
> >ifdef INSTALL_FPCPACKAGE
> >INSTALL_BASEDIR:=/pp
> >/* I change to .., but I don't know, how it be under Linux
> >INSTALL_BASEDIR:=c:/pp
>
> Why fix it to c:/ ?
>
>
> >------------3--------------
> >please remove line:
> >override DEFAULT_FPCDIR=..
> >because it can't be pass from command line f.e: 'make all
> >DEFAULT_FPCDIR=c:\fp'
>
> This is taken from the Makefile.fpc and is only used to be able to build
> the tree without needing FPCDIR set.
>
>
> >--------4-----------
> >
> >ifdef DEFAULT_FPCDIR
> >ifeq ($(FPCDIR),wrong)
> >override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
> >ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
> >override FPCDIR=wrong
> >endif
> >endif
> >endif
> >/* change to :
> >ifdef DEFAULT_FPCDIR
> >override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
> >endif
>
> Why remove the safety check? There must be a rtl or units dir else your
> installation is broken.
>
>
> Peter
>
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
>
More information about the fpc-devel
mailing list