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 - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to