Browse Source

+ INSTALL and new README

peter 26 years ago
parent
commit
2b3a509d52
2 changed files with 141 additions and 23 deletions
  1. 0 0
      base/INSTALL
  2. 141 23
      base/README

+ 0 - 0
base/makefile.txt → base/INSTALL


+ 141 - 23
base/README

@@ -1,31 +1,149 @@
 
-First you need to install all the sources like:
+Possible settings for common Free Pascal Makefile:
 
-<basedir>/
-  base
-  compiler
-  rtl
-  ide/text
-  ide/fake
-  api
-  fv
-  gdbint
-  gdbint/libgdb
+General configurable settings:
+------------------------------
+OS_TARGET       The target operating system you are going to compile for
+                (Note: This has autodetection for go32v2,linux,winnt)
 
-- Copy the files (Makefile,makefile.fpc) from the base/ directory to the
-<basedir>. 
+OS_SOURCE       The source operating system you compiling under
+                (Note: This has autodetection for go32v2,linux,winnt)
 
-- get the libgdb_<system>.zip from tflily ftp and unzip it in the
-gdbint/libgdb directory
+CPU             The target CPU that is used (currently m68k,i386)
+                Default: CPU=i386
 
-- Type: SET FPCDIR=<basedir>
+OPT             General commandline options you want to give
+                Example to compile with debug info: OPT=-g
 
-- Then you can type 'make info' and see it finds the correct files.
+OPTDEF          Commandline defines, which also need to be passed to
+                programs that don't want other options (like mkdep)
 
-- When that works fine, then you can type in the <basedir>:
+NEEDOPT         Realy needed commandline options, also used when
+                RELEASE=1. Example: NEEDOPT=-Sg to allow goto
 
-  'make ide_all'	IDE without compiler/debugger
-  'make ide_gdb'	IDE with debugger
-  'make ide_full'	IDE with compiler
-  'make ide_fullgdb'	IDE with compiler/debugger
-  
+NEEDUNITDIR     Realy needed unitdir
+
+PP              compiler to use, default is ppc386
+                Example to compile with version 0.99.8: PP=ppc998
+
+AS              assembler to use to compile the loaders
+                Default: AS=as
+
+LD              linker to use
+                Default: LD=ld
+
+RELEASE         setting this to a value (for example RELEASE=1) will compile
+                for a release, no ppc386.cfg is read an compile is done with
+                the following settings: '-Xs -OG2p2 -n'
+
+VERBOSE         setting this to a value (for example VERBOSE=1) will compile
+                with more verbosity, this can be used in combination with
+                the RELEASE option. Verbosity used: '-vwni'
+
+SMARTLINK       setting this to YES will create smartlinked files
+                Example: SMARTLINK=YES
+
+LIBNAME         set the outputname for the library to LIBNAME, mostly used
+                in combination with SMARTLINK to create a one library which
+                contains all units
+                Example: LIBNAME=objpas SMARTLINK=yes
+
+LIBTYPE         can be set to shared or static to set the library type you
+                want to create. When shared is set it overrides smartlink
+                and turns it off.
+                Example: LIBTYPE=shared LIBNAME=objpas
+
+DEFAULTUNITS    if this is set then a 'make all' will only compile the units
+                and not the exes
+
+NODEFAULTRULES  Don't include the default compiler rules. This is needed for
+                top-makefiles which call other files in subdirs
+
+
+Location:
+---------
+INC             Where to find the .inc files.
+                Example: INC=inc
+
+PROCINC         Where to find processor dependent .inc files
+                Example: PROCINC=$(CPU)
+
+OSINC           Where to find operating system dependent .inc files
+                Example: OSINC=$(OS_TARGET)
+
+TARGETDIR       Where to place all the .o,.ppu,.exe files
+                Example: TARGETDIR=. (this is needed when you compile
+                a unit from an other dir, but want the .ppu,.o in the
+                current directory)
+
+UNITTARGETDIR   Where to place the .o,.ppu files, this overrides the
+                TARGETDIR setting for these files.
+                Example see TARGETDIR
+
+
+File Handling:
+--------------
+MOVE            Command to move files
+COPY            Command to copy files
+DEL             Command to delete files
+DELTREE         Command to delete a whole directory tree
+INSTALL         Command to install a normal file (not executable)
+INSTALLEXE      Command to install an executable file
+MKDIR           Command to make a new directory
+
+
+Tools:
+------
+LDCONFIG        command to rebuild the ld.so.cache (automaticly set for linux)
+PPAS            ppas.sh for linux, other os's ppas.bat
+PPUMOVE         PPUMove program
+DIFF            GNU Diff
+DATE            GNU Date (automaticly searched)
+SED             GNU Sed (automaticly searched)
+PWD             GNU PWD (automaticly searched)
+
+
+Directories:
+-----------
+BASEDIR         Current working directory (automaticly loaded using PWD)
+
+FPCDIR          Base directory of Free Pascal
+
+RTLDIR          Directory to the used RTL. This contains already the target
+                Default: $FPCDIR/rtl/$OS_TARGET
+
+UNITDIR         Directory to the currently used units for the target
+                Default: $FPCDIR/units/$OS_TARGET
+
+
+Installation directories:
+-------------------------
+BASEINSTALLDIR  Base directory where to install all the files.
+                Default: /pp (linux: /usr/lib/fpc/$VER)
+
+LIBINSTALLDIR   Directory to install all libraries
+                Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
+
+BININSTALLDIR   Directory where to install the binaries
+                Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
+
+UNITINSTALLDIR  Directory where to install the normal units
+                Default: $BASEINSTALLDIR/rtl/$OS_TARGET
+
+STATIC_UNITINSTALLDIR  Directory where to install static (smartlinked) units
+                Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
+
+SHARED_UNITINSTALLDIR  Directory where to install shared linked units
+                Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
+
+STATIC_LIBINSTALLDIR  Directory where to install static linked libraries
+                Default: $STATIC_UNITINSTALLDIR
+
+SHARED_LIBINSTALLDIR  Directory where to install shared linked libraries
+                Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
+
+MSGINSTALLDIR   Directory where to place the .msg (language) files
+                Default: $BASEINSTALLDIR/msg
+
+DOCINSTALLDIR:  Directory where to install the documentation
+                Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)