* merged fixes

This commit is contained in:
peter 1998-09-16 16:47:18 +00:00
parent dbe21324d5
commit d26cb63037
11 changed files with 455 additions and 445 deletions

View File

@ -1,13 +1,13 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@ -57,7 +57,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@ -256,7 +256,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@ -278,9 +278,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it

View File

@ -1,4 +1,4 @@
This is the file COPYING.FPC, it applies to the Free Pascal Run-Time Library
This is the file COPYING.FPC, it applies to the Free Pascal Run-Time Library
source files copyrighted by members of the Free Pascal Development Team.
The source code of Free Pascal is distributed under the GNU General
@ -7,14 +7,9 @@ Public License (see the file COPYING) with the following exceptions:
- object files and libraries linked into an application may be
distributed without source code
If you didn't receive a copy of the file COPYING, contact:
If you didn't receive a copy of the file COPYING, contact:
Free Software Foundation
675 Mass Ave
Cambridge, MA 02139
USA
Suggestions, ideas ?? Please correct spelling mistakes in the license,
if you see one.

View File

@ -3,7 +3,7 @@
# This file is part of the Free Pascal run time library.
# Copyright (c) 1996-98 by Michael van Canneyt
#
# Makefile for the Free Pascal Win32 Runtime Library
# Makefile for the Free Pascal Runtime Library
#
# See the file COPYING.FPC, included in this distribution,
# for details about the copyright.
@ -12,149 +12,66 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
#****************************************************************************
#####################################################################
# Start of configurable section
#####################################################################
# What compiler do you want to use :
ifndef PP
PP=ppc386
endif
# Where do you want to install the units ?
# For each of the systems, a subdirectory OSunits of
# this directry will be created, and the system dependent
# files will be set there.
# For linux:
UNITINSTALLDIR=/usr/lib/fpc/0.99.6
# For dos/os2 :
# UNITINSTALLDIR=\pp\units
# Where do you want to install the (shared or static) run-time libraries ?
# For linux:
LIBINSTALLDIR=/usr/lib
# For dos/os2 :
#LIBINSTALLDIR=\pp\units
# Where do you want the utilities installed ?
# for linux
BININSTALLDIR=/usr/bin
# for DOS, OS/2
# BININSTALLDIR=\pp\bin
#####################################################################
# Try to determine Operating System
#####################################################################
BASEDIR=$(shell pwd)
# in linux no : in pathes
ifeq ($(findstring :,$(BASEDIR)),)
inlinux=1
endif
# in case pwd is not present on the DOS-OS
ifeq ($(strip $(BASEDIR)),'')
inlinux=
BASEDIR:=.
endif
# set here the type of the ppc386 you use:
# Choose from: go32v1 go32v2 linux or os2
# can determine if on linux otherwise assume go32v2
ifdef inlinux
OS_SRC=linux
else
OS_SRC=go32v2
endif
# Set redir to YES if you want a log file to be kept.
ifndef REDIR
REDIR=YES
REDIR=NO
endif
# Set NODEBUG to YES if you DON'T want debugging
ifndef NODEBUG
NODEBUG=YES
# set target processor type
CPU=i386
# CPU=m68k
# Set REFPATH if you want to generate diffs to a standard RTL
# this can not be a relative path.
REFPATH=/usr/local/fpk/work/0.9.7/rtl
# Where is the diff program ? (No relative paths)
DIFF=diff
# What options do you want to pass to diff ?
DIFFOPTS=-b -c
# Where is the ppumove program ? (set only if you want to make libs)
# Don't specify a relative path.
PPUMOVE=ppumove
#
# Optional configuration settings.
#
# Set any options you wish to give to the compiler
OPT=
endif
# Optional : Specify the place of the log file.
# default is 'log' in the source directory
# REDIRFILE=
ifndef REDIRFILE
REDIRFILE=
endif
# Optional: Error definitions file you want the compiler to use.
# !! If you specify a path, specify an absolute path. !!
# ERRORFILE=
ifndef ERRORFILE
ERRORFILE=
endif
# Optional: The program to create directories.
# Under DOS this is by default 'mkdir'. Under Linux this is 'install -m 755 -d'
# MKDIR=
# Everything else has been moved to rtl/cfg/makefile.cfg
# Optional: The program to install the files into the destination directory.
# Under DOS this is by default 'copy', under Linux this is 'install -m 644'
# copy will not work with /
# use cp from djgpp instead
# INSTALL=
#####################################################################
# Include default makefile
#####################################################################
CFG=cfg
include $(CFG)/makefile.cfg
#######################################################################
# End of configurable section.
# Do not edit after this line.
# Fix options
#######################################################################
# Check debugging.
ifneq (YES,$(NODEBUG))
OPT:=$(OPT) -g
ifneq ($(NODEBUG),YES)
override OPT+=-g
endif
# Check error definitions file.
ifdef ERRORFILE
OPT:= $(OPT) -Fr$(ERRORFILE)
endif
# Check operating system.
ifeq ($(OS_SRC),linux)
DOS=NO
else
DOS=YES
# also redirect the standard error to the redir file
ifeq (YES,$(REDIR))
PP:=redir -eo $(PP)
# set the verbosity to max
OPT:=$(OPT) -va
endif
override OPT+=-Fr$(ERRORFILE)
endif
# Check logfile.
ifeq (YES,$(REDIR))
ifeq ($(REDIR),YES)
ifndef inlinux
override PP=redir -eo $(PP)
endif
# set the verbosity to max
override OPT+=-va
ifdef REDIRFILE
override REDIR:= >> $(REDIRFILE)
else
@ -164,177 +81,189 @@ else
override REDIR:= >> con
endif
# Check copy delete commands.
# You need cp from GNU to handle / as directory separator
COPY=cp -p
DEL=rm
# To install programs
ifndef INSTALL
ifeq ($(DOS),YES)
INSTALL=copy
else
INSTALL=install
endif
endif
# To make a directory.
ifndef MKDIR
ifeq ($(DOS),YES)
MKDIR=mkdir
else
MKDIR=install -m 755 -d
endif
endif
# add target processor define to command line options
OPT:=$(OPT) -d$(CPU)
# Variables to export
export OS_SRC DOS SEP PP OPT REDIR COPY DEL LIBINSTALLDIR INSTALL MKDIR \
REFPATH CPU PPUMOVE UNITINSTALLDIR
export PP OPT REDIR REDIRFILE ERRORFILE
############################################################################
# Defaults
############################################################################
.PHONY: rtl_go32v1 rtl_go32v2 rtl_linux rtl_os2 rtl_win32 \
install_go32v1 install_go32v2 install_linux install_os2 install_win32 \
go32v1libs go32v2libs linuxlibs os2libs win32libs \
install_go32v1 install_go32v2 install_linux install_os2 install_win32 \
go32v1libs go32v2libs linuxlibs os2libs win32libs \
clean install native diffs diffclean \
libs libinstall \
utils utils_install
native: rtl$(OS_SRC)
all: rtls
nativelibs : $(OS_SRC)libs
clean:
make -C template clean
make -C dos clean
make -C dos/go32v1 clean
make -C dos/go32v2 clean
make -C linux clean
make -C win32 clean
make -C os2 clean
make -C utils clean
-$(DEL) *.dif
all: rtlgo32v1 rtlgo32v2 rtllinux rtlos2 rtlwin32
############################################################################
# RTLs
############################################################################
native: rtl$(OS_SOURCE)
rtls: rtlgo32v1 rtlgo32v2 rtllinux rtlos2 rtlwin32
rtlgo32v1:
make -C dos/go32v1
rtlgo32v2:
make -C dos/go32v2
rtllinux:
make -C linux
rtlos2:
make -C os2
rtlwin32:
make -C win32
############################################################################
# Libs
############################################################################
nativelibs : $(OS_SOURCE)libs
libs: go32v1libs go32v2libs linuxlibs os2libs win32libs
go32v1libs:
make -C dos/go32v1 libs
go32v2libs:
make -C dos/go32v2 libs
linuxlibs:
make -C linux libs
os2libs:
make -C os2 libs
win32libs:
make -C win32 libs
############################################################################
# Install
############################################################################
install: install_linux install_go32v1 install_go32v2 install_os2 install_win32
native_install: install_$(OS_SRC)
install_go32v1:
make -C dos/go32v1 install
install_go32v2:
make -C dos/go32v2 install
install_linux:
make -C linux install
install_os2:
make -C os2 install
install_win32:
make -C win32 install
############################################################################
# LibInstall
############################################################################
libinstall: libinstall_linux libinstall_go32v1 libinstall_go32v2 \
libinstall_os2 libinstall_win32
native_libinstall: libinstall_$(OS_SOURCE)
libinstall_go32v1:
make -C dos/go32v1 libinstall
libinstall_go32v2:
make -C dos/go32v2 libinstall
libinstall_linux:
make -C linux libinstall
libinstall_os2:
make -C os2 libinstall
libinstall_win32:
make -C win32 libinstall
############################################################################
# Utils
############################################################################
utils:
make -C utils all
utils_install:
make -C utils install
############################################################################
# Diffs
############################################################################
diffs: diffs_rtl diffs_inc diffs_i386 diffs_m68k diffs_dos diffs_cfg \
diffs_os2 diffs_go32v1 diffs_go32v2 diffs_linux diffs_win32 \
diffs_template
rtlgo32v1:
$(MAKE) -C dos/go32v1 CFGFILE=../../cfg/ppgo32v1.cfg OS_TARGET=go32v1
rtlgo32v2:
$(MAKE) -C dos/go32v2 CFGFILE=../../cfg/ppgo32v2.cfg OS_TARGET=go32v2
rtllinux:
$(MAKE) -C linux CFGFILE=../cfg/pplinux.cfg OS_TARGET=linux
rtlos2:
$(MAKE) -C os2 CFGFILE=../cfg/ppos2.cfg OS_TARGET=os2
rtlwin32:
$(MAKE) -C win32 CFGFILE=../cfg/ppwin32.cfg OS_TARGET=win32
go32v1libs:
$(MAKE) -C dos/go32v1 CFGFILE=../../cfg/ppdos.cfg OS_TARGET=go32v1 libs
go32v2libs:
$(MAKE) -C dos/go32v2 CFGFILE=../../cfg/ppgo32v2.cfg OS_TARGET=go32v2 libs
linuxlibs:
$(MAKE) -C linux CFGFILE=../cfg/pplinux.cfg OS_TARGET=linux libs
os2libs:
$(MAKE) -C os2 CFGFILE=../cfg/ppos2.cfg OS_TARGET=os2 libs
win32libs:
$(MAKE) -C win32 CFGFILE=../cfg/ppwin32.cfg OS_TARGET=win32 libs
clean:
$(MAKE) -C template clean
$(MAKE) -C dos clean
$(MAKE) -C dos/go32v1 clean
$(MAKE) -C dos/go32v2 clean
$(MAKE) -C linux clean
$(MAKE) -C win32 clean
$(MAKE) -C os2 clean
$(MAKE) -C utils clean
-$(DEL) *.dif
diffclean:
$(MAKE) -C template diffclean
$(MAKE) -C dos diffclean
$(MAKE) -C dos/go32v1 diffclean
$(MAKE) -C dos/go32v2 diffclean
$(MAKE) -C linux diffclean
$(MAKE) -C os2 diffclean
$(MAKE) -C win32 diffclean
-$(DEL) *.dif
install: install_linux install_go32v1 install_go32v2 install_os2 install_win32
libinstall: libinstall_linux libinstall_go32v1 libinstall_go32v2 \
libinstall_os2 libinstall_win32
native_install: install_$(OS_SRC)
native_libinstall: libinstall_$(OS_SRC)
makefile.dif : makefile
-$(DIFF) $(DIFFOPTS) makefile $(REFPATH)/makefile > makefile.dif
diffs_rtl: makefile.dif
diffs_dos:
$(MAKE) -C dos diffs
diffs_inc:
$(MAKE) -C inc diffs
make -C inc diffs
diffs_i386:
$(MAKE) -C i386 diffs
make -C i386 diffs
diffs_m68k:
$(MAKE) -C m68k diffs
make -C m68k diffs
diffs_cfg:
$(MAKE) -C cfg diffs
make -C cfg diffs
diffs_template:
$(MAKE) -C template diffs
make -C template diffs
diffs_go32v1:
$(MAKE) -C dos/go32v1 diffs
make -C dos/go32v1 diffs
diffs_go32v2:
$(MAKE) -C dos/go32v2 diffs
make -C dos/go32v2 diffs
diffs_linux:
$(MAKE) -C linux diffs
make -C linux diffs
diffs_os2:
$(MAKE) -C os2 diffs
make -C os2 diffs
diffs_win32:
$(MAKE) -C win32 diffs
make -C win32 diffs
install_go32v1:
$(MAKE) -C dos/go32v1 install
install_go32v2:
$(MAKE) -C dos/go32v2 install
install_linux:
$(MAKE) -C linux install
install_os2:
$(MAKE) -C os2 install
install_win32:
$(MAKE) -C win32 install
libinstall_go32v1:
$(MAKE) -C dos/go32v1 libinstall
libinstall_go32v2:
$(MAKE) -C dos/go32v2 libinstall
libinstall_linux:
$(MAKE) -C linux libinstall
libinstall_os2:
$(MAKE) -C os2 libinstall
libinstall_win32:
$(MAKE) -C win32 libinstall
utils:
$(MAKE) -C utils all
utils_install:
$(MAKE) -C utils install
diffclean:
make -C template diffclean
make -C dos diffclean
make -C dos/go32v1 diffclean
make -C dos/go32v2 diffclean
make -C linux diffclean
make -C os2 diffclean
make -C win32 diffclean
-$(DEL) *.dif
#
# $Log$
# Revision 1.1 1998-09-10 14:19:02 peter
# Revision 1.2 1998-09-16 16:47:20 peter
# * merged fixes
#
# Revision 1.1.2.1 1998/09/16 16:17:46 peter
# * updates to install with go32,win32
#
# Revision 1.1 1998/09/10 14:19:02 peter
# - renamed
#
# Revision 1.10 1998/09/04 17:32:36 pierre
# * REDIR handling corrected
#
#

View File

@ -1,13 +1,17 @@
#
# Minimalist version of a makefile, so make clean at least works.
#
.PHONY: clean install
.PHONY: all clean install
all:
-make -C go32v2 all
-make -C go32v1 all
clean:
-$(MAKE) -C go32v2 clean
-$(MAKE) -C go32v1 clean
-make -C go32v2 clean
-make -C go32v1 clean
install:
-$(MAKE) -C go32v2 install
-$(MAKE) -C go32v1 install
-make -C go32v2 install
-make -C go32v1 install

View File

@ -1014,10 +1014,6 @@ end;
procedure getfattr(var f;var attr : word);
{$ifndef GO32V2}
var
n : array[0..255] of char;
{$endif}
begin
{$ifdef GO32V2}
copytodos(filerec(f).name,strlen(filerec(f).name)+1);
@ -1030,8 +1026,7 @@ begin
end
else
{$else}
strpcopy(n,filerec(f).name);
dosregs.edx:=longint(@n);
dosregs.edx:=longint(@filerec(f).name);
{$endif GO32V2}
dosregs.ax:=$4300;
msdos(dosregs);
@ -1041,10 +1036,6 @@ end;
procedure setfattr(var f;attr : word);
{$ifndef GO32V2}
var
n : array[0..255] of char;
{$endif}
begin
{$ifdef GO32V2}
copytodos(filerec(f).name,strlen(filerec(f).name)+1);
@ -1057,8 +1048,7 @@ begin
end
else
{$else}
strpcopy(n,filerec(f).name);
dosregs.edx:=longint(@n);
dosregs.edx:=longint(@filerec(f).name);
{$endif}
dosregs.ax:=$4301;
dosregs.cx:=attr;
@ -1139,7 +1129,13 @@ End;
end.
{
$Log$
Revision 1.12 1998-09-11 12:46:44 pierre
Revision 1.13 1998-09-16 16:47:24 peter
* merged fixes
Revision 1.11.2.2 1998/09/16 16:16:04 peter
* go32v1 compiles again
Revision 1.12 1998/09/11 12:46:44 pierre
* range check problem with LFN attr removed
Revision 1.11.2.1 1998/09/11 12:38:41 pierre

View File

@ -14,33 +14,38 @@
#
#####################################################################
# Start of configurable section.
# Please note that all these must be set in the main makefile, and
# should be set there.
# Don't remove the indef statements. They serve to avoid conflicts
# with the main makefile.
# Configuration section
#####################################################################
# What is the Operating System
ifndef OS_SOURCE
OS_SOURCE=go32v2
# Use smartlinking ?
ifndef SMARTLINK
SMARTLINK=NO
endif
# What is the target operating system ?
ifndef OS_TARGET
# Name of library ?
# If this is set, all units will be put in the same library.
# If it is empty (default), the units will be left in separate files.
ifndef LIBNAME
LIBNAME=
#LIBNAME=fpc
endif
# Should the library be shared or static (only if LIBNAME is set).
# Set this to 'shared' or 'static' to create a librrary
# Setting this to shared will disable smart linking.
ifndef LIBTYPE
LIBTYPE=
#LIBTYPE=static
endif
#####################################################################
# Defaults
#####################################################################
# set target and cpu which are required
OS_TARGET=go32v1
endif
# What is the target processor :
ifndef CPU
CPU=i386
#CPU=m68k
endif
#####################################################################
# End of configurable section.
# Do not edit after this line.
#####################################################################
# Where are the include files
CFG=../../cfg
@ -50,34 +55,13 @@ OBJPASDIR=../../objpas
# Where are the .ppi files.
PPI=../ppi
# Get some defaults for Programs and OSes.
# This will set the following variables :
# inlinux indos COPY REPLACE DEL INSTALL INSTALLEXE MKDIR
# It will also set OPT for cross-compilation, and add required options.
# also checks for config file.
# it expects INC PROCINC to be set !!
#####################################################################
# Include default makefile
#####################################################################
include $(CFG)/makefile.cfg
# Get the system independent include file names.
# This will set the following variables :
# SYSINCNAMES
include $(INC)/makefile.inc
SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
# Get the processor dependent include file names.
# This will set the following variables :
# CPUINCNAMES
include $(PROCINC)/makefile.cpu
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
# Get the PPI file names
# This sets the variable name PPIINCNAMES
include $(PPI)/makefile.ppi
PPIDEPS=$(addprefix $(PPI)/,$(PPIINCNAMES))
# Put system unit dependencies together.
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
#####################################################################
# System dependent
@ -91,6 +75,27 @@ OBJECTS=strings go32 \
LOADERS=prt0
#####################################################################
# Include system unit dependencies
#####################################################################
# Get the system independent include file names.
# This will set the following variables :
# SYSINCNAMES
include $(INC)/makefile.inc
SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
# Get the processor dependent include file names.
# This will set the following variables :
# CPUINCNAMES
include $(PROCINC)/makefile.cpu
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
# Put system unit dependencies together.
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
#####################################################################
# System independent Makefile
#####################################################################
@ -99,7 +104,6 @@ LOADERS=prt0
OBJLOADERS=$(addsuffix $(OEXT), $(LOADERS))
PPUOBJECTS=$(addsuffix $(PPUEXT), $(OBJECTS))
.PHONY : all install clean \
libs libsclean \
diffs diffclean \
@ -113,7 +117,8 @@ install : all
clean :
-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) $(PPAS) link.res log
-$(DELTREE) *$(SMARTEXT)
make -C $(OBJPASDIR) clean
-make -C $(OBJPASDIR) clean
#####################################################################
# Files
@ -210,6 +215,7 @@ graph$(PPUEXT) : ../graph.pp go32$(PPUEXT) $(SYSTEMPPU) mmx$(PPUEXT) $(PPIFILES)
$(COMPILER) -I$(PPI) graph $(REDIR)
$(DEL) graph.pp
#####################################################################
# Libs
#####################################################################
@ -234,6 +240,7 @@ libinstall: staticlibinstall
libsclean : clean
-$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
#####################################################################
# Default targets
#####################################################################
@ -242,10 +249,15 @@ include $(CFG)/makefile.def
#
# $Log$
# Revision 1.2 1998-09-15 12:09:08 peter
# Revision 1.3 1998-09-16 16:47:26 peter
# * merged fixes
#
# Revision 1.1.2.2 1998/09/16 16:17:49 peter
# * updates to install with go32,win32
#
# Revision 1.2 1998/09/15 12:09:08 peter
# * merged updates
#
# Revision 1.1.2.1 1998/09/15 12:02:02 peter
# * updates to get objpas using its own makefile
#
#

View File

@ -14,50 +14,74 @@
#
#####################################################################
# Start of configurable section.
# Please note that all these must be set in the main makefile, and
# should be set there.
# Don't remove the indef statements. They serve to avoid conflicts
# with the main makefile.
# Configuration section
#####################################################################
# What is the Operating System
ifndef OS_SOURCE
OS_SOURCE=go32v1
# Use smartlinking ?
ifndef SMARTLINK
SMARTLINK=NO
endif
# What is the target operating system ?
ifndef OS_TARGET
# Name of library ?
# If this is set, all units will be put in the same library.
# If it is empty (default), the units will be left in separate files.
ifndef LIBNAME
LIBNAME=
#LIBNAME=fpc
endif
# Should the library be shared or static (only if LIBNAME is set).
# Set this to 'shared' or 'static' to create a librrary
# Setting this to shared will disable smart linking.
ifndef LIBTYPE
LIBTYPE=
#LIBTYPE=static
endif
#####################################################################
# Defaults
#####################################################################
# set target and cpu which are required
OS_TARGET=go32v2
endif
# What is the target processor :
ifndef CPU
CPU=i386
#CPU=m68k
endif
#####################################################################
# End of configurable section.
# Do not edit after this line.
#####################################################################
# Where are the include files
CFG=../../cfg
INC=../../inc
PROCINC=../../$(CPU)
CFG=../../cfg
OBJPASDIR=../../objpas
# Where are the .ppi files.
PPI=../ppi
# Get some defaults for Programs and OSes.
# This will set the following variables :
# inlinux indos COPY REPLACE DEL INSTALL INSTALLEXE MKDIR
# It will also set OPT for cross-compilation, and add required options.
# also checks for config file.
# it expects INC PROCINC to be set !!
#####################################################################
# Include default makefile
#####################################################################
include $(CFG)/makefile.cfg
#####################################################################
# System dependent
#####################################################################
# Define Go32v2 Units
SYSTEMPPU=system$(PPUEXT)
OBJECTS=strings go32 \
dpmiexcp profile dxeload emu387 \
dos crt objects printer \
cpu mmx mouse getopts graph
LOADERS=prt0 exceptn fpu
#####################################################################
# Include system unit dependencies
#####################################################################
# Get the system independent include file names.
# This will set the following variables :
# SYSINCNAMES
@ -73,19 +97,6 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
# Put system unit dependencies together.
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
#####################################################################
# System dependent
#####################################################################
# Define Go32v2 Units
SYSTEMPPU=system$(PPUEXT)
OBJECTS=strings go32 \
dpmiexcp profile dxeload emu387 \
dos crt objects printer \
cpu mmx mouse getopts graph
LOADERS=prt0 exceptn fpu
#####################################################################
# System independent Makefile
@ -108,7 +119,8 @@ install : all
clean :
-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) $(PPAS) link.res log
-$(DELTREE) *$(SMARTEXT)
make -C $(OBJPASDIR) clean
-make -C $(OBJPASDIR) clean
#####################################################################
# Files
@ -223,6 +235,7 @@ graph$(PPUEXT) : ../graph.pp go32$(PPUEXT) $(SYSTEMPPU) mmx$(PPUEXT) $(PPIFILES)
$(COMPILER) -I$(PPI) graph $(REDIR)
$(DEL) graph.pp
#####################################################################
# Libs
#####################################################################
@ -237,7 +250,7 @@ sharedlib:
staticlibinstall: staticlib
$(MKDIR) $(STATIC_LIBINSTALLDIR)
$(MKDIR) $(STATIC_UNITINSTALLDIR)
$(INSTALLEXE) fpc$(STATICLIBEXT) $(STATIC_LIBINSTALLDIR)
$(INSTALLEXE) *$(STATICLIBEXT) $(STATIC_LIBINSTALLDIR)
$(INSTALL) *$(PPUEXT) *$(OEXT) $(STATIC_UNITINSTALLDIR)
sharedlibinstall: sharedlib
@ -247,6 +260,7 @@ libinstall: staticlibinstall
libsclean : clean
-$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
#####################################################################
# Default targets
#####################################################################
@ -255,7 +269,13 @@ include $(CFG)/makefile.def
#
# $Log$
# Revision 1.2 1998-09-15 12:09:09 peter
# Revision 1.3 1998-09-16 16:47:27 peter
# * merged fixes
#
# Revision 1.1.2.2 1998/09/16 16:17:50 peter
# * updates to install with go32,win32
#
# Revision 1.2 1998/09/15 12:09:09 peter
# * merged updates
#
# Revision 1.1.2.1 1998/09/15 12:02:03 peter

View File

@ -19,6 +19,9 @@ unit GRAPH;
{ $DEFINE DEBUG}
{$I os.inc}
{ Don't use smartlinking, becuase of the direct assembler that is used }
{$SMARTLINK OFF}
interface
uses go32,mmx;
@ -828,7 +831,13 @@ end.
{
$Log$
Revision 1.4 1998-05-31 14:18:14 peter
Revision 1.5 1998-09-16 16:47:25 peter
* merged fixes
Revision 1.4.2.1 1998/09/16 16:15:41 peter
* no smartlinking!
Revision 1.4 1998/05/31 14:18:14 peter
* force att or direct assembling
* cleanup of some files

View File

@ -78,7 +78,7 @@ ifdef UNITTARGETDIR
ifdef UNITOBJECTS
$(COPY) $(UNITFILES) $(UNITTARGETDIR)
ifeq ($(SMARTLINK),YES)
$(COPY) lib$(LIBNAME)$(LIBEXT) $(UNITTARGETDIR)
$(COPY) $(LIBPREFIX)$(LIBNAME)$(LIBEXT) $(UNITTARGETDIR)
else
$(COPY) $(UNITOFILES) $(UNITTARGETDIR)
endif
@ -94,7 +94,7 @@ endif
ifdef UNITOBJECTS
$(MKDIR) $(UNITINSTALLDIR)
ifeq ($(SMARTLINK),YES)
$(INSTALL) lib$(LIBNAME)$(LIBEXT) $(UNITINSTALLDIR)
$(INSTALL) $(LIBPREFIX)$(LIBNAME)$(LIBEXT) $(UNITINSTALLDIR)
else
$(INSTALL) $(UNITFILES) $(UNITOFILES) $(UNITINSTALLDIR)
endif
@ -120,9 +120,15 @@ include $(CFG)/makefile.def
#
# $Log$
# Revision 1.3 1998-09-15 12:09:12 peter
# Revision 1.4 1998-09-16 16:47:29 peter
# * merged fixes
#
# Revision 1.3 1998/09/15 12:09:12 peter
# * merged updates
#
# Revision 1.2.2.2 1998/09/16 16:17:51 peter
# * updates to install with go32,win32
#
# Revision 1.2.2.1 1998/09/15 12:02:05 peter
# * updates to get objpas using its own makefile
#

View File

@ -3,7 +3,7 @@
# This file is part of the Free Pascal run time library.
# Copyright (c) 1998 by the Free Pascal Development Team
#
# Makefile for the Free Pascal <Template>
# Makefile for the <Template>
#
# See the file COPYING.FPC, included in this distribution,
# for details about the copyright.
@ -14,23 +14,27 @@
#
#####################################################################
# Include configuration makefile
# Defaults
#####################################################################
# Where are the include files ?
CFG=../cfg
#INC=../inc
#PROCINC=../$(CPU)
#OBJPAS=../objpas
RTL=..
CFG=$(RTL)/cfg
#INC=$(RTL)/inc
#PROCINC=$(RTL)/$(CPU)
#####################################################################
# Include configuration makefile
#####################################################################
# Get some defaults for Programs and OSes.
# This will set the following variables :
# This will at least set the following variables :
# inlinux COPY REPLACE DEL INSTALL INSTALLEXE MKDIR
# It will also set OPT for cross-compilation, and add required options.
# also checks for config file.
# it expects CFG INC PROCINC to be set !!
# INSTALLDIR UNITDIR PPOPT PP CPU COMPILER
include $(CFG)/makefile.cfg
#####################################################################
# Objects
#####################################################################
@ -38,6 +42,7 @@ include $(CFG)/makefile.cfg
EXEOBJECTS=
UNITOBJECTS=
#####################################################################
# Main targets
#####################################################################
@ -49,13 +54,33 @@ UNITOFILES=$(addsuffix $(OEXT),$(UNITOBJECTS))
.PHONY : all clean diffs install diffclean
all : $(EXEFILES) $(UNITFILES)
all : $(EXEFILES) $(UNITFILES) targetdir
$(EXEFILES): %$(EXEEXT): %$(PASEXT)
$(PP) $(OPT) $*
$(COMPILER) $*
$(UNITFILES): %$(PPUEXT): %$(PASEXT)
$(PP) $(OPT) $*
$(COMPILER) $*
targetdir:
ifdef UNITTARGETDIR
ifdef EXEOBJECTS
$(COPY) $(EXEFILES) $(BINTARGETDIR)
endif
endif
ifdef UNITTARGETDIR
ifdef UNITOBJECTS
$(COPY) $(UNITFILES) $(UNITTARGETDIR)
ifeq ($(SMARTLINK),YES)
$(COPY) $(LIBPREFIX)$(LIBNAME)$(LIBEXT) $(UNITTARGETDIR)
else
$(COPY) $(UNITOFILES) $(UNITTARGETDIR)
endif
endif
endif
install : all
ifdef EXEOBJECTS
@ -64,19 +89,27 @@ ifdef EXEOBJECTS
endif
ifdef UNITOBJECTS
$(MKDIR) $(UNITINSTALLDIR)
ifeq ($(SMARTLINK),YES)
$(INSTALL) $(LIBPREFIX)$(LIBNAME)$(LIBEXT) $(UNITINSTALLDIR)
else
$(INSTALL) $(UNITFILES) $(UNITOFILES) $(UNITINSTALLDIR)
endif
endif
clean:
-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) $(PPAS) link.res log
-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) $(PPAS) link.res log
-$(DELTREE) *$(SMARTEXT)
ifdef EXEOBJECTS
-$(DEL) $(EXEFILES)
endif
#####################################################################
# Files
#####################################################################
#####################################################################
# Default makefile targets
#####################################################################
@ -85,7 +118,10 @@ include $(CFG)/makefile.def
#
# $Log$
# Revision 1.1 1998-09-10 13:55:07 peter
# * updates
# Revision 1.2 1998-09-16 16:47:30 peter
# * merged fixes
#
# Revision 1.1.2.1 1998/09/16 16:17:53 peter
# * updates to install with go32,win32
#
#

View File

@ -14,29 +14,9 @@
#
#####################################################################
# Start of configurable section.
# Please note that all these must be set in the main makefile, and
# should be set there.
# Don't remove the indef statements. They serve to avoid conflicts
# with the main makefile.
# Configuration section
#####################################################################
# What is the Operating System ?
ifndef OS_SOURCE
OS_SOURCE=win32
endif
# What is the target operating system ?
ifndef OS_TARGET
OS_TARGET=win32
endif
# What is the target processor :
ifndef CPU
CPU=i386
#CPU=m68k
endif
# Use smartlinking ?
ifndef SMARTLINK
SMARTLINK=NO
@ -58,29 +38,51 @@ LIBTYPE=
#LIBTYPE=static
endif
#####################################################################
# End of configurable section.
# Do not edit after this line.
#####################################################################
#####################################################################
# System independent
# Defaults
#####################################################################
# set target and cpu which are required
override OS_TARGET=win32
override CPU=i386
# Where are the include files ?
INC=../inc
PROCINC=../$(CPU)
CFG=../cfg
OBJPASDIR=../objpas
# Get some defaults for Programs and OSes.
# This will set the following variables :
# inlinux indos COPY REPLACE DEL INSTALL INSTALLEXE MKDIR
# It will also set OPT for cross-compilation, and add required options.
# also checks for config file.
# it expects INC PROCINC to be set !!
#####################################################################
# Include default makefile
#####################################################################
include $(CFG)/makefile.cfg
#####################################################################
# System dependent
#####################################################################
# Define Win32 Units
SYSTEMPPU=syswin32$(PPUEXT)
OBJECTS=strings dos \
windows \
cpu mmx getopts
# Files used by windows.pp
WINDOWS_FILES=base errors defines \
struct ascfun ascdef \
unifun unidef func
WINDOWS_SOURCE_FILES=$(addsuffix .pp,$(WINDOWS_FILES))
#####################################################################
# Include system unit dependencies
#####################################################################
# Get the system independent include file names.
# This will set the following variables :
# SYSINCNAMES
@ -96,30 +98,19 @@ SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
# Put system unit dependencies together.
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
#####################################################################
# System dependent
#####################################################################
# Define Linux Units
SYSTEMPPU=syswin32$(PPUEXT)
OBJECTS=strings dos \
windows \
cpu mmx getopts
# Files used by windows.pp
WINDOWS_FILES=base errors defines \
struct ascfun ascdef \
unifun unidef func
#####################################################################
# System independent Makefile
#####################################################################
# Add Prefix and Suffixes
OBJLOADERS=$(addsuffix $(OEXT), $(LOADERS))
PPUOBJECTS=$(addsuffix $(PPUEXT), $(OBJECTS))
WINDOWS_SOURCE_FILES=$(addsuffix .pp,$(WINDOWS_FILES))
.PHONY : all install clean \
libs libsclean \
diffs diffclean \
dllnames test
dllnames test
all : $(OBJLOADERS) $(PPUOBJECTS) objpas
@ -130,7 +121,8 @@ install : all
clean :
-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) log
-$(DELTREE) *$(SMARTEXT)
make -C $(OBJPASDIR) clean
-make -C $(OBJPASDIR) clean
#####################################################################
# Files
@ -234,6 +226,11 @@ libinstall: staticlibinstall
libsclean : clean
-$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
#####################################################################
# windows.pp
#####################################################################
# Getting DLL names
# not present in headers !!
@ -369,7 +366,13 @@ include $(CFG)/makefile.def
#
# $Log$
# Revision 1.3 1998-09-15 12:09:13 peter
# Revision 1.4 1998-09-16 16:47:35 peter
# * merged fixes
#
# Revision 1.1.2.2 1998/09/16 16:17:55 peter
# * updates to install with go32,win32
#
# Revision 1.3 1998/09/15 12:09:13 peter
# * merged updates
#
# Revision 1.2 1998/09/11 15:09:48 michael