mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 11:39:40 +01:00 
			
		
		
		
	* fpcmake support
This commit is contained in:
		
							parent
							
								
									7bcdc527af
								
							
						
					
					
						commit
						79d331a978
					
				
							
								
								
									
										1188
									
								
								compiler/Makefile
									
									
									
									
									
								
							
							
						
						
									
										1188
									
								
								compiler/Makefile
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										323
									
								
								compiler/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										323
									
								
								compiler/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,323 @@
 | 
			
		||||
#
 | 
			
		||||
#   Makefile.fpc for shedit
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[dirs]
 | 
			
		||||
fpcdir=..
 | 
			
		||||
unitdir=
 | 
			
		||||
targetdir=.
 | 
			
		||||
 | 
			
		||||
[defaults]
 | 
			
		||||
defaultoptions=-Sg
 | 
			
		||||
 | 
			
		||||
[tools]
 | 
			
		||||
tooldiff=1
 | 
			
		||||
toolcmp=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[presettings]
 | 
			
		||||
# RTL
 | 
			
		||||
RTL=../rtl
 | 
			
		||||
UTILS=../utils
 | 
			
		||||
 | 
			
		||||
# Utils used by compiler development/installation
 | 
			
		||||
COMPILERUTILS=utils
 | 
			
		||||
 | 
			
		||||
# Default language for the compiler
 | 
			
		||||
ifndef FPCLANG
 | 
			
		||||
FPCLANG=e
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Local defines for the compiler only
 | 
			
		||||
ifndef LOCALDEF
 | 
			
		||||
LOCALDEF=
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Local options for the compiler only
 | 
			
		||||
ifndef LOCALOPT
 | 
			
		||||
LOCALOPT=
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Options for the RTL only when cycling
 | 
			
		||||
ifndef RTLOPTS
 | 
			
		||||
RTLOPTS=
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Message files
 | 
			
		||||
MSGFILES=$(wildcard error*.msg)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[postsettings]
 | 
			
		||||
# Default message file
 | 
			
		||||
MSGFILE=error$(FPCLANG).msg
 | 
			
		||||
 | 
			
		||||
# set correct defines (-d$(CPU_TARGET) is automaticly added in makefile.fpc)
 | 
			
		||||
override LOCALDEF+=-dGDB -dBROWSERLOG
 | 
			
		||||
 | 
			
		||||
# for i386 also insert MMX support
 | 
			
		||||
ifeq ($(CPU_TARGET),i386)
 | 
			
		||||
override LOCALDEF+=-dSUPPORT_MMX
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# We don't need the intel and binary writer on linux...
 | 
			
		||||
ifdef inlinux
 | 
			
		||||
override LOCALDEF+=-dNOAG386INT -dNOAG386BIN
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
override LOCALOPT+=$(LOCALDEF)
 | 
			
		||||
 | 
			
		||||
override FPCOPT+=$(LOCALOPT)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[rules]
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Setup Targets
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
ifeq ($(OS_TARGET),win32)
 | 
			
		||||
ifdef CMP
 | 
			
		||||
override DIFF:=$(CMP) -i138
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Used to avoid unnecessary steps in remake3
 | 
			
		||||
ifdef DIFF
 | 
			
		||||
ifdef OLDFPC
 | 
			
		||||
DIFFRESULT:=$(shell $(DIFF) $(OLDFPC) $(FPC))
 | 
			
		||||
else
 | 
			
		||||
DIFFRESULT=Not equal
 | 
			
		||||
endif
 | 
			
		||||
else
 | 
			
		||||
DIFFRESULT=No diff program
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Setup os-independent filenames
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
FPCEXENAME=pp$(EXEEXT)
 | 
			
		||||
EXENAME=ppc386$(EXEEXT)
 | 
			
		||||
M68KEXENAME=ppc68k$(EXEEXT)
 | 
			
		||||
TEMPNAME=ppc$(EXEEXT)
 | 
			
		||||
TEMPNAME1=ppc1$(EXEEXT)
 | 
			
		||||
TEMPNAME2=ppc2$(EXEEXT)
 | 
			
		||||
TEMPNAME3=ppc3$(EXEEXT)
 | 
			
		||||
MAKEDEP=ppdep$(EXEEXT)
 | 
			
		||||
MSG2INC=msg2inc$(EXEEXT)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Default makefile
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
all: $(EXENAME)
 | 
			
		||||
        $(MAKE) echotime
 | 
			
		||||
 | 
			
		||||
ifeq ($(MAKELEVEL),0)
 | 
			
		||||
ifndef STARTTIME
 | 
			
		||||
ifdef DATE
 | 
			
		||||
STARTTIME:=$(shell $(DATE) +%T)
 | 
			
		||||
else
 | 
			
		||||
STARTTIME:=unknown
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
export STARTTIME
 | 
			
		||||
 | 
			
		||||
ifdef DATE
 | 
			
		||||
ENDTIME=$(shell $(DATE) +%T)
 | 
			
		||||
else
 | 
			
		||||
ENDTIME:=unknown
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
echotime:
 | 
			
		||||
        @echo Start $(STARTTIME) now $(ENDTIME)
 | 
			
		||||
 | 
			
		||||
ifndef DIFFRESULT
 | 
			
		||||
next :
 | 
			
		||||
        @echo $(OLDFPC) and $(FPC) are equal
 | 
			
		||||
        $(COPY) $(FPC) $(EXENAME)
 | 
			
		||||
else
 | 
			
		||||
next :
 | 
			
		||||
        $(MAKE) execlean
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) clean
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) 'FPC=$(FPC)' 'OPT=$(RTLOPTS)' all
 | 
			
		||||
        $(MAKE) clean
 | 
			
		||||
        $(MAKE) all
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
clean : execlean fpc_cleanall
 | 
			
		||||
 | 
			
		||||
execlean :
 | 
			
		||||
        -$(DEL) $(EXENAME)
 | 
			
		||||
 | 
			
		||||
distclean: clean
 | 
			
		||||
        -$(DEL) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Include depencies
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
$(MAKEDEP): $(UTILS)/ppdep.pp
 | 
			
		||||
        $(COMPILER) $(UTILS)/ppdep.pp
 | 
			
		||||
        $(COPY) $(UTILS)/$(MAKEDEP) $(MAKEDEP)
 | 
			
		||||
 | 
			
		||||
dependencies : $(MAKEDEP)
 | 
			
		||||
        $(MAKEDEP) pp.pas $(FPCOPTDEF) $(LOCALDEF) '-F$$(COMPILER) $$(LOCALOPT)' > depend
 | 
			
		||||
 | 
			
		||||
ifdef USEDEPEND
 | 
			
		||||
 | 
			
		||||
include depend
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Make targets
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
$(MSG2INC): $(COMPILERUTILS)/msg2inc.pp
 | 
			
		||||
        $(COMPILER) -FE. $(COMPILERUTILS)/msg2inc.pp
 | 
			
		||||
 | 
			
		||||
# The msgtxt.inc only depends on the error?.msg file, not on msg2inc,
 | 
			
		||||
# because that one will be new almost everytime
 | 
			
		||||
msgtxt.inc: $(MSGFILE)
 | 
			
		||||
        $(MAKE) $(MSG2INC)
 | 
			
		||||
        $(MSG2INC) $(MSGFILE) msg msg
 | 
			
		||||
 | 
			
		||||
msg: msgtxt.inc
 | 
			
		||||
 | 
			
		||||
# Make only the compiler
 | 
			
		||||
ifndef COMPLETE
 | 
			
		||||
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
 | 
			
		||||
        $(COMPILER) pp.pas
 | 
			
		||||
        $(EXECPPAS)
 | 
			
		||||
        $(MOVE) $(FPCEXENAME) $(EXENAME)
 | 
			
		||||
else
 | 
			
		||||
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
 | 
			
		||||
        $(COMPILER) pp.pas
 | 
			
		||||
        $(EXECPPAS)
 | 
			
		||||
        $(COMPILER) pp.pas
 | 
			
		||||
        $(EXECPPAS)
 | 
			
		||||
        $(COMPILER) pp.pas
 | 
			
		||||
        $(EXECPPAS)
 | 
			
		||||
        $(MOVE) $(FPCEXENAME) $(EXENAME)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
tokens.dat : $(wildcard *.pas) $(wildcard *.inc)
 | 
			
		||||
        $(COMPILER) tokendat.pas
 | 
			
		||||
        ./tokendat
 | 
			
		||||
 | 
			
		||||
# This target remakes the units with the currently made version
 | 
			
		||||
remake: $(EXENAME)
 | 
			
		||||
        $(MOVE) $(EXENAME) $(TEMPNAME)
 | 
			
		||||
        $(MAKE) execlean
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) clean
 | 
			
		||||
        $(MAKE) clean
 | 
			
		||||
        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME)' all
 | 
			
		||||
 | 
			
		||||
remake3: $(TEMPNAME3)
 | 
			
		||||
        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME2)' next
 | 
			
		||||
        $(DIFF) $(TEMPNAME3) $(EXENAME)
 | 
			
		||||
 | 
			
		||||
$(TEMPNAME1) : $(EXENAME)
 | 
			
		||||
        -$(DEL) $(TEMPNAME1)
 | 
			
		||||
        $(MOVE) $(EXENAME) $(TEMPNAME1)
 | 
			
		||||
 | 
			
		||||
$(TEMPNAME2) : $(TEMPNAME1)
 | 
			
		||||
        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME1)' 'OLDFPC=' next
 | 
			
		||||
        -$(DEL) $(TEMPNAME2)
 | 
			
		||||
        $(MOVE) $(EXENAME) $(TEMPNAME2)
 | 
			
		||||
 | 
			
		||||
$(TEMPNAME3) : $(TEMPNAME2)
 | 
			
		||||
        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME2)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME1)' next
 | 
			
		||||
        -$(DEL) $(TEMPNAME3)
 | 
			
		||||
        $(MOVE) $(EXENAME) $(TEMPNAME3)
 | 
			
		||||
 | 
			
		||||
cycle:
 | 
			
		||||
        $(MAKE) clean
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) clean
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) 'OPT=$(RTLOPTS)' all
 | 
			
		||||
        $(MAKE) remake3
 | 
			
		||||
        $(MAKE) echotime
 | 
			
		||||
 | 
			
		||||
cycledep:
 | 
			
		||||
        $(MAKE) cycle USEDEPEND=1
 | 
			
		||||
 | 
			
		||||
cvstest:
 | 
			
		||||
        $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPTS=-n -Se'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Installation
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
# This will only install the ppc386.exe, not the message files etc.
 | 
			
		||||
quickinstall:
 | 
			
		||||
ifdef inlinux
 | 
			
		||||
        $(MKDIR) $(LIBINSTALLDIR)
 | 
			
		||||
        $(INSTALLEXE) $(EXENAME) $(LIBINSTALLDIR)
 | 
			
		||||
else
 | 
			
		||||
        $(MKDIR) $(BININSTALLDIR)
 | 
			
		||||
ifdef UPX
 | 
			
		||||
        -$(UPX) $(EXENAME)
 | 
			
		||||
endif
 | 
			
		||||
        $(INSTALLEXE) $(EXENAME) $(BININSTALLDIR)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
installlib: quickinstall
 | 
			
		||||
ifdef inlinux
 | 
			
		||||
        $(INSTALLEXE) $(COMPILERUTILS)/samplecfg $(LIBINSTALLDIR)/samplecfg
 | 
			
		||||
endif
 | 
			
		||||
        $(MKDIR) $(MSGINSTALLDIR)
 | 
			
		||||
        $(INSTALL) $(MSGFILES) $(MSGINSTALLDIR)
 | 
			
		||||
 | 
			
		||||
# this also installs the link /usr/bin/ppc386. The .deb does that later
 | 
			
		||||
install: installlib
 | 
			
		||||
ifdef inlinux
 | 
			
		||||
        $(MKDIR) $(BININSTALLDIR)
 | 
			
		||||
        ln -sf $(LIBINSTALLDIR)/ppc386 $(BININSTALLDIR)/ppc386
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Misc
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
rtl :
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) all
 | 
			
		||||
 | 
			
		||||
rtlclean :
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) clean
 | 
			
		||||
 | 
			
		||||
rtlinstall:
 | 
			
		||||
        $(MAKE) -C $(RTLDIR) install
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# local user configurable file
 | 
			
		||||
# in makefile.loc you can add any desired target
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
localmake:=$(strip $(wildcard makefile.loc))
 | 
			
		||||
 | 
			
		||||
ifdef localmake
 | 
			
		||||
include ./$(localmake)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# M68k test targets
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
# just a quick way to get ppc68k
 | 
			
		||||
# needs to be after makefile.def for PASFILES INCFILES
 | 
			
		||||
 | 
			
		||||
$(M68KEXENAME): $(PASFILES) $(INCFILES)
 | 
			
		||||
        $(MAKE) clean
 | 
			
		||||
        $(FPC) -uI386 -uSUPPORT_MMX -dm68k -o$(M68KEXENAME) pp
 | 
			
		||||
        $(MAKE) clean
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -233,10 +233,21 @@ begin
 | 
			
		||||
         begin
 | 
			
		||||
            if GetName(FFileBuffer[index]) = ident then
 | 
			
		||||
            begin
 | 
			
		||||
               value := GetValue(FFileBuffer[index], ident);
 | 
			
		||||
               if value <> '' then
 | 
			
		||||
                  result := value;
 | 
			
		||||
               break;
 | 
			
		||||
              value := GetValue(FFileBuffer[index], ident);
 | 
			
		||||
              if value <> '' then
 | 
			
		||||
               begin
 | 
			
		||||
                 result := value;
 | 
			
		||||
                 if (result[length(result)]='\') then
 | 
			
		||||
                  begin
 | 
			
		||||
                    inc(index);
 | 
			
		||||
                    while (index < FFileBuffer.Count) and (result[length(result)]='\') do
 | 
			
		||||
                     begin
 | 
			
		||||
                       result:=Copy(result,1,length(result)-1)+Trim(FFileBuffer[index]);
 | 
			
		||||
                       inc(index);
 | 
			
		||||
                     end;
 | 
			
		||||
                  end;
 | 
			
		||||
               end;
 | 
			
		||||
              break;
 | 
			
		||||
            end;
 | 
			
		||||
            Inc(index);
 | 
			
		||||
         end;
 | 
			
		||||
@ -428,7 +439,10 @@ end.
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.3  1999-11-02 23:58:37  peter
 | 
			
		||||
  Revision 1.4  1999-11-08 15:01:38  peter
 | 
			
		||||
    * fpcmake support
 | 
			
		||||
 | 
			
		||||
  Revision 1.3  1999/11/02 23:58:37  peter
 | 
			
		||||
    * comment support
 | 
			
		||||
    * readsectionraw method
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1069
									
								
								rtl/go32v2/Makefile
									
									
									
									
									
								
							
							
						
						
									
										1069
									
								
								rtl/go32v2/Makefile
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										159
									
								
								rtl/go32v2/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								rtl/go32v2/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,159 @@
 | 
			
		||||
#
 | 
			
		||||
#   Makefile.fpc for Go32v2 RTL
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[targets]
 | 
			
		||||
loaders=prt0 exceptn fpu
 | 
			
		||||
units=$(SYSTEMUNIT) objpas strings \
 | 
			
		||||
      go32 initc dpmiexcp profile dxeload emu387 \
 | 
			
		||||
      dos crt objects printer graph \
 | 
			
		||||
      sysutils math typinfo \
 | 
			
		||||
      cpu mmx getopts heaptrc \
 | 
			
		||||
      msmouse ports
 | 
			
		||||
 | 
			
		||||
programs=
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[defaults]
 | 
			
		||||
defaultunits=1
 | 
			
		||||
defaulttarget=go32v2
 | 
			
		||||
defaultcpu=i386
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[dirs]
 | 
			
		||||
fpcdir=.
 | 
			
		||||
incdir=$(INC) $(PROCINC)
 | 
			
		||||
targetdir=.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[presettings]
 | 
			
		||||
RTL=..
 | 
			
		||||
INC=../inc
 | 
			
		||||
PROCINC=../$(CPU_TARGET)
 | 
			
		||||
 | 
			
		||||
UNITPREFIX=rtl
 | 
			
		||||
 | 
			
		||||
# Paths
 | 
			
		||||
OBJPASDIR=$(RTL)/objpas
 | 
			
		||||
GRAPHDIR=$(INC)/graph
 | 
			
		||||
 | 
			
		||||
# Define Go32v2 Units
 | 
			
		||||
SYSTEMUNIT=system
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[postsettings]
 | 
			
		||||
SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
 | 
			
		||||
 | 
			
		||||
# 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)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[rules]
 | 
			
		||||
vpath %$(PASEXT) $(INC) $(PROCINC)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Loaders
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
prt0$(OEXT) : v2prt0.as
 | 
			
		||||
        $(AS) -o prt0$(OEXT) v2prt0.as
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# System Units (System, Objpas, Strings)
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
$(SYSTEMPPU) : system.pp $(SYSDEPS)
 | 
			
		||||
        $(COMPILER) -Us -Sg system.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMPPU)
 | 
			
		||||
        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
 | 
			
		||||
                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
 | 
			
		||||
                   $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# System Dependent Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
go32$(PPUEXT) : go32.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
dpmiexcp$(PPUEXT) : dpmiexcp.pp exceptn$(OEXT) $(SYSTEMPPU)
 | 
			
		||||
        $(COMPILER) -Sg dpmiexcp.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
initc$(PPUEXT) : initc.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
profile$(PPUEXT) : profile.pp dpmiexcp$(PPUEXT) go32$(PPUEXT)
 | 
			
		||||
 | 
			
		||||
dxeload$(PPUEXT) : dxeload.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
emu387$(PPUEXT) : emu387.pp fpu$(OEXT) strings$(PPUEXT) dxeload$(PPUEXT) \
 | 
			
		||||
                  dpmiexcp$(PPUEXT)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# TP7 Compatible RTL Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \
 | 
			
		||||
               go32$(PPUEXT) strings$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
crt$(PPUEXT) : crt.pp $(INC)/textrec.inc go32$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
printer$(PPUEXT) : printer.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Graph
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
include $(GRAPHDIR)/makefile.inc
 | 
			
		||||
GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
 | 
			
		||||
 | 
			
		||||
graph$(PPUEXT) : $(GRAPHDIR)/graph.pp go32$(PPUEXT) ports$(PPUEXT) $(SYSTEMPPU) \
 | 
			
		||||
                 $(GRAPHINCDEPS) graph.inc graphh.inc vesa.inc vesah.inc dpmi.inc
 | 
			
		||||
        $(COMPILER) -I$(GRAPHDIR) $(GRAPHDIR)/graph.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Delphi Compatible Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/*.inc) \
 | 
			
		||||
                    filutil.inc disk.inc objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT)
 | 
			
		||||
        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/sysutils.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
 | 
			
		||||
        $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
 | 
			
		||||
        $(COMPILER) $(OBJPASDIR)/math.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Other system-independent RTL Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU)
 | 
			
		||||
        $(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
msmouse$(PPUEXT) : msmouse.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
ports$(PPUEXT) : ports.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
@ -346,9 +346,6 @@ Interface
 | 
			
		||||
       { Hercules mono card }
 | 
			
		||||
       HercMonoHi = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
       {$i graphmod.inc}
 | 
			
		||||
 | 
			
		||||
       MaxColors   = 255;   { Maximum possible colors using a palette }
 | 
			
		||||
                            { otherwise, direct color encoding        }
 | 
			
		||||
 | 
			
		||||
@ -682,6 +679,9 @@ Function GetDriverName: string;
 | 
			
		||||
 procedure OutTextXY(x,y : integer;const TextString : string);
 | 
			
		||||
 procedure OutText(const TextString : string);
 | 
			
		||||
 | 
			
		||||
{ Load extra graph additions per system like mode constants }
 | 
			
		||||
{$i graphh.inc}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Implementation
 | 
			
		||||
 | 
			
		||||
@ -2961,7 +2961,10 @@ SetGraphBufSize
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.35  1999-11-08 11:15:22  peter
 | 
			
		||||
  Revision 1.36  1999-11-08 15:01:38  peter
 | 
			
		||||
    * fpcmake support
 | 
			
		||||
 | 
			
		||||
  Revision 1.35  1999/11/08 11:15:22  peter
 | 
			
		||||
    * move graph.inc to the target dir
 | 
			
		||||
 | 
			
		||||
  Revision 1.34  1999/11/03 20:23:01  florian
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1 @@
 | 
			
		||||
GRAPHINCNAMES=graph.inc fontdata.inc clip.inc fills.inc gtext.inc palette.inc modes.inc
 | 
			
		||||
 | 
			
		||||
ifeq ($(OS_TARGET),go32v2)
 | 
			
		||||
GRAPHINCNAMES+=vesa.inc vesah.inc dpmi.inc
 | 
			
		||||
endif
 | 
			
		||||
GRAPHINCNAMES=fontdata.inc clip.inc fills.inc gtext.inc palette.inc modes.inc
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1061
									
								
								rtl/win32/Makefile
									
									
									
									
									
								
							
							
						
						
									
										1061
									
								
								rtl/win32/Makefile
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										167
									
								
								rtl/win32/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								rtl/win32/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,167 @@
 | 
			
		||||
#
 | 
			
		||||
#   Makefile.fpc for Free Pascal Win32 RTL
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[targets]
 | 
			
		||||
loaders=wprt0 wdllprt0
 | 
			
		||||
units=$(SYSTEMUNIT) objpas strings \
 | 
			
		||||
      windows ole2 opengl32 winsock \
 | 
			
		||||
      sockets initc \
 | 
			
		||||
      dos crt objects graph \
 | 
			
		||||
      sysutils typinfo math \
 | 
			
		||||
      cpu mmx getopts heaptrc
 | 
			
		||||
programs=
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[defaults]
 | 
			
		||||
defaultunits=1
 | 
			
		||||
defaulttarget=win32
 | 
			
		||||
defaultcpu=i386
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[dirs]
 | 
			
		||||
fpcdir=.
 | 
			
		||||
incdir=$(INC) $(PROCINC)
 | 
			
		||||
targetdir=.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[presettings]
 | 
			
		||||
RTL=..
 | 
			
		||||
INC=$(RTL)/inc
 | 
			
		||||
PROCINC=$(RTL)/$(CPU_TARGET)
 | 
			
		||||
WININC=wininc
 | 
			
		||||
 | 
			
		||||
UNITPREFIX=rtl
 | 
			
		||||
 | 
			
		||||
# Paths
 | 
			
		||||
OBJPASDIR=$(RTL)/objpas
 | 
			
		||||
GRAPHDIR=$(INC)/graph
 | 
			
		||||
 | 
			
		||||
SYSTEMUNIT=syswin32
 | 
			
		||||
 | 
			
		||||
# Files used by windows.pp
 | 
			
		||||
include $(WININC)/makefile.inc
 | 
			
		||||
 | 
			
		||||
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[postsettings]
 | 
			
		||||
SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
 | 
			
		||||
 | 
			
		||||
# 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)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[rules]
 | 
			
		||||
vpath %$(PASEXT) $(INC) $(PROCINC)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Loaders
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
override AS=asw
 | 
			
		||||
 | 
			
		||||
wprt0$(OEXT) : wprt0.as
 | 
			
		||||
        $(AS) -o wprt0$(OEXT) wprt0.as
 | 
			
		||||
 | 
			
		||||
wdllprt0$(OEXT) : wdllprt0.as
 | 
			
		||||
        $(AS) -o wdllprt0$(OEXT) wdllprt0.as
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# System Units (System, Objpas, Strings)
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
$(SYSTEMPPU) : syswin32.pp win32.inc $(SYSDEPS)
 | 
			
		||||
        $(COMPILER) -Us -Sg syswin32.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMPPU)
 | 
			
		||||
        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 | 
			
		||||
                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
 | 
			
		||||
                   $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# System Dependent Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMPPU)
 | 
			
		||||
        $(COMPILER) -I$(WININC) windows.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
ole2$(PPUEXT) : ole2.pp windows$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMPPU) \
 | 
			
		||||
                   $(INC)/sockets.inc $(INC)/socketsh.inc
 | 
			
		||||
 | 
			
		||||
initc$(PPUEXT) : initc.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# TP7 Compatible RTL Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
crt$(PPUEXT) : crt.pp $(INC)/textrec.inc $(SYSTEMPPU) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
 | 
			
		||||
 | 
			
		||||
objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Graph
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
include $(GRAPHDIR)/makefile.inc
 | 
			
		||||
GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
 | 
			
		||||
 | 
			
		||||
graph$(PPUEXT) : $(GRAPHDIR)/graph.pp $(SYSTEMPPU) \
 | 
			
		||||
                 $(GRAPHINCDEPS) graph.inc graphh.inc
 | 
			
		||||
        $(COMPILER) -I$(GRAPHDIR) $(GRAPHDIR)/graph.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Delphi Compatible Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/*.inc) \
 | 
			
		||||
                    filutil.inc disk.inc objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
 | 
			
		||||
        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/sysutils.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
 | 
			
		||||
        $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
 | 
			
		||||
        $(COMPILER) $(OBJPASDIR)/math.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Other system-independent RTL Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU)
 | 
			
		||||
        $(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Other system-dependent RTL Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								rtl/win32/graphh.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								rtl/win32/graphh.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
{
 | 
			
		||||
    $Id$
 | 
			
		||||
    This file is part of the Free Pascal run time library.
 | 
			
		||||
    Copyright (c) 1999 by Florian Klaempfl
 | 
			
		||||
 | 
			
		||||
    This file implements the win32 gui support for the graph unit
 | 
			
		||||
 | 
			
		||||
    See the file COPYING.FPC, included in this distribution,
 | 
			
		||||
    for details about the copyright.
 | 
			
		||||
 | 
			
		||||
    This program is distributed in the hope that it will be useful,
 | 
			
		||||
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | 
			
		||||
 | 
			
		||||
 **********************************************************************}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.1  1999-11-08 15:01:39  peter
 | 
			
		||||
    * fpcmake support
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1024
									
								
								utils/Makefile
									
									
									
									
									
								
							
							
						
						
									
										1024
									
								
								utils/Makefile
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										61
									
								
								utils/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								utils/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,61 @@
 | 
			
		||||
#
 | 
			
		||||
#   Makefile.fpc for shedit
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[targets]
 | 
			
		||||
units=
 | 
			
		||||
programs=ppudump ppumove ppdep ptop rstconv fpcmake
 | 
			
		||||
 | 
			
		||||
[clean]
 | 
			
		||||
units=ppu ptopu
 | 
			
		||||
 | 
			
		||||
[dirs]
 | 
			
		||||
fpcdir=..
 | 
			
		||||
unitdir=$(FPCDIR)/fcl/$(OS_TARGET)
 | 
			
		||||
targetdir=.
 | 
			
		||||
 | 
			
		||||
[rules]
 | 
			
		||||
.PHONY: h2pas_all h2pas_clean h2pas_install
 | 
			
		||||
 | 
			
		||||
all: fpc_all h2pas_all
 | 
			
		||||
 | 
			
		||||
clean: fpc_clean h2pas_clean
 | 
			
		||||
 | 
			
		||||
install: fpc_install h2pas_install
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# PPU Tools
 | 
			
		||||
#
 | 
			
		||||
ppu$(PPUEXT): ppu.pas
 | 
			
		||||
 | 
			
		||||
ppudump$(EXEEXT): ppudump.pp ppu$(PPUEXT)
 | 
			
		||||
 | 
			
		||||
ppumove$(EXEEXT): ppumove.pp ppu$(PPUEXT)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Pascal beautifier
 | 
			
		||||
#
 | 
			
		||||
ptop$(EXEEXT): ptop.pp ptopu$(PPUEXT)
 | 
			
		||||
 | 
			
		||||
ptopu$(PPUEXT): ptopu.pp
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Other
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
fpcmake$(EXEEXT): fpcmake.pp
 | 
			
		||||
 | 
			
		||||
ppdep$(EXEEXT): ppdep.pp
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# H2Pas
 | 
			
		||||
#
 | 
			
		||||
h2pas_all:
 | 
			
		||||
        $(MAKE) -C h2pas all
 | 
			
		||||
 | 
			
		||||
h2pas_clean:
 | 
			
		||||
        $(MAKE) -C h2pas clean
 | 
			
		||||
 | 
			
		||||
h2pas_install:
 | 
			
		||||
        $(MAKE) -C h2pas install
 | 
			
		||||
 | 
			
		||||
@ -138,7 +138,7 @@ endif
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
# Load commandline OPTDEF and add FPC_CPU define
 | 
			
		||||
override FPCOPTDEF:=-d$(FPC_CPU)
 | 
			
		||||
override FPCOPTDEF:=-d$(CPU_TARGET)
 | 
			
		||||
 | 
			
		||||
# Load commandline OPT and add target and unit dir to be sure
 | 
			
		||||
ifneq ($(OS_TARGET),$(OS_SOURCE))
 | 
			
		||||
@ -780,12 +780,12 @@ endif
 | 
			
		||||
 | 
			
		||||
.PHONY: fpc_showinstallfiles fpc_install
 | 
			
		||||
 | 
			
		||||
ifdef EXTRAINSTALLUNITS
 | 
			
		||||
override EXTRAINSTALLFILES=$(wildcard $(addsuffix $(OEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)))
 | 
			
		||||
endif
 | 
			
		||||
ifdef UNITOBJECTS
 | 
			
		||||
override UNITINSTALLFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
 | 
			
		||||
endif
 | 
			
		||||
ifdef EXTRAINSTALLUNITS
 | 
			
		||||
override EXTRAINSTALLFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)))
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
fpc_showinstallfiles : all
 | 
			
		||||
ifndef DEFAULTUNITS
 | 
			
		||||
@ -936,7 +936,7 @@ ifdef UNITOBJECTS
 | 
			
		||||
override UNITCLEANFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
 | 
			
		||||
endif
 | 
			
		||||
ifdef EXTRACLEANUNITS
 | 
			
		||||
override EXTRACLEANFILES=$(wildcard $(addsuffix $(OEXT),$(EXTRACLEANUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRACLEANUNITS)) $(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)))
 | 
			
		||||
override EXTRACLEANFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRACLEANUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRACLEANUNITS)) $(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)))
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
fpc_clean:
 | 
			
		||||
@ -1119,7 +1119,10 @@ endif
 | 
			
		||||
 | 
			
		||||
;
 | 
			
		||||
; $Log$
 | 
			
		||||
; Revision 1.2  1999-11-03 23:39:53  peter
 | 
			
		||||
; Revision 1.3  1999-11-08 15:01:39  peter
 | 
			
		||||
;   * fpcmake support
 | 
			
		||||
;
 | 
			
		||||
; Revision 1.2  1999/11/03 23:39:53  peter
 | 
			
		||||
;   * lot of updates
 | 
			
		||||
;
 | 
			
		||||
; Revision 1.1  1999/11/02 23:57:40  peter
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										120
									
								
								utils/fpcmake.pp
									
									
									
									
									
								
							
							
						
						
									
										120
									
								
								utils/fpcmake.pp
									
									
									
									
									
								
							@ -35,6 +35,8 @@ const
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
{ Sections in Makefile.fpc }
 | 
			
		||||
  sec_install='install';
 | 
			
		||||
  sec_clean='clean';
 | 
			
		||||
  sec_dirs='dirs';
 | 
			
		||||
  sec_libs='libs';
 | 
			
		||||
  sec_targets='targets';
 | 
			
		||||
@ -43,9 +45,15 @@ const
 | 
			
		||||
  sec_tools='tools';
 | 
			
		||||
 | 
			
		||||
type
 | 
			
		||||
  TTargetsString=array[0..targets] of string;
 | 
			
		||||
  TFpcMake=record
 | 
			
		||||
    TargetLoaders,
 | 
			
		||||
    TargetUnits,
 | 
			
		||||
    TargetPrograms : array[0..targets] of string;
 | 
			
		||||
    TargetPrograms,
 | 
			
		||||
    InstallUnits,
 | 
			
		||||
    InstallFiles,
 | 
			
		||||
    CleanUnits,
 | 
			
		||||
    CleanFiles     : TTargetsString;
 | 
			
		||||
    DefaultUnits   : boolean;
 | 
			
		||||
    DefaultRule,
 | 
			
		||||
    DefaultTarget,
 | 
			
		||||
@ -57,9 +65,7 @@ type
 | 
			
		||||
    DirObj,
 | 
			
		||||
    DirTarget,
 | 
			
		||||
    DirUnitTarget,
 | 
			
		||||
    DirInc,
 | 
			
		||||
    DirProcInc,
 | 
			
		||||
    DirOSInc       : string;
 | 
			
		||||
    DirInc         : string;
 | 
			
		||||
    LibGCC,
 | 
			
		||||
    LibOther       : boolean;
 | 
			
		||||
    InfoCfg,
 | 
			
		||||
@ -108,7 +114,16 @@ function ReadMakefilefpc:boolean;
 | 
			
		||||
var
 | 
			
		||||
  fn  : string;
 | 
			
		||||
  ini : TIniFile;
 | 
			
		||||
  i   : integer;
 | 
			
		||||
 | 
			
		||||
  procedure ReadTargetsString(var t:Ttargetsstring;const sec,name,def:string);
 | 
			
		||||
  var
 | 
			
		||||
    i : integer;
 | 
			
		||||
  begin
 | 
			
		||||
    t[0]:=ini.ReadString(sec,name,def);
 | 
			
		||||
    for i:=1 to targets do
 | 
			
		||||
     t[i]:=ini.ReadString(sec,name+'_'+targetstr[i],'');
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
begin
 | 
			
		||||
  ReadMakefilefpc:=false;
 | 
			
		||||
  if FileExists('Makefile.fpc') then
 | 
			
		||||
@ -125,13 +140,15 @@ begin
 | 
			
		||||
  with userini,ini do
 | 
			
		||||
   begin
 | 
			
		||||
   { targets }
 | 
			
		||||
     TargetUnits[0]:=ReadString(sec_targets,'units','');
 | 
			
		||||
     TargetPrograms[0]:=ReadString(sec_targets,'programs','');
 | 
			
		||||
     for i:=1 to targets do
 | 
			
		||||
      begin
 | 
			
		||||
        TargetUnits[i]:=ReadString(sec_targets,'units_'+targetstr[i],'');
 | 
			
		||||
        TargetPrograms[i]:=ReadString(sec_targets,'programs_'+targetstr[i],'');
 | 
			
		||||
      end;
 | 
			
		||||
     ReadTargetsString(TargetLoaders,sec_targets,'loaders','');
 | 
			
		||||
     ReadTargetsString(TargetUnits,sec_targets,'units','');
 | 
			
		||||
     ReadTargetsString(TargetPrograms,sec_targets,'programs','');
 | 
			
		||||
   { clean }
 | 
			
		||||
     ReadTargetsString(CleanUnits,sec_clean,'units','');
 | 
			
		||||
     ReadTargetsString(CleanFiles,sec_clean,'files','');
 | 
			
		||||
   { install }
 | 
			
		||||
     ReadTargetsString(InstallUnits,sec_install,'units','');
 | 
			
		||||
     ReadTargetsString(InstallFiles,sec_install,'files','');
 | 
			
		||||
   { defaults }
 | 
			
		||||
     DefaultUnits:=ReadBool(sec_defaults,'defaultunits',false);
 | 
			
		||||
     DefaultRule:=ReadString(sec_defaults,'defaultrule','all');
 | 
			
		||||
@ -146,8 +163,6 @@ begin
 | 
			
		||||
     DirTarget:=ReadString(sec_dirs,'targetdir','');
 | 
			
		||||
     DirUnitTarget:=ReadString(sec_dirs,'unittargetdir','');
 | 
			
		||||
     DirInc:=ReadString(sec_dirs,'incdir','');
 | 
			
		||||
     DirProcInc:=ReadString(sec_dirs,'procincdir','');
 | 
			
		||||
     DirOSInc:=ReadString(sec_dirs,'osincdir','');
 | 
			
		||||
   { libs }
 | 
			
		||||
     LibGcc:=ReadBool(sec_libs,'libgcc',false);
 | 
			
		||||
     LibOther:=ReadBool(sec_libs,'libother',false);
 | 
			
		||||
@ -293,9 +308,31 @@ var
 | 
			
		||||
    mf.Add('');
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  procedure AddTargets(const pre:string;var t:TTargetsString);
 | 
			
		||||
  var
 | 
			
		||||
    i : integer;
 | 
			
		||||
  begin
 | 
			
		||||
    if t[0]<>'' then
 | 
			
		||||
     mf.Add(pre+'='+t[0]);
 | 
			
		||||
    for i:=1to targets do
 | 
			
		||||
     if (t[i]<>'') then
 | 
			
		||||
      begin
 | 
			
		||||
        mf.Add('ifeq ($(OS_TARGET),'+targetstr[i]+')');
 | 
			
		||||
        if t[i]<>'' then
 | 
			
		||||
         mf.Add(pre+'+='+t[i]);
 | 
			
		||||
        mf.Add('endif');
 | 
			
		||||
      end;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  procedure AddHead(const s:string);
 | 
			
		||||
  begin
 | 
			
		||||
    mf.Add('');
 | 
			
		||||
    mf.Add('# '+s);
 | 
			
		||||
    mf.Add('');
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
var
 | 
			
		||||
  hs : string;
 | 
			
		||||
  i  : integer;
 | 
			
		||||
begin
 | 
			
		||||
{ Open the Makefile }
 | 
			
		||||
  Verbose('Creating Makefile');
 | 
			
		||||
@ -335,33 +372,36 @@ begin
 | 
			
		||||
 | 
			
		||||
   { Pre Settings }
 | 
			
		||||
     if userini.PreSettings.count>0 then
 | 
			
		||||
      AddStrings(userini.PreSettings);
 | 
			
		||||
 | 
			
		||||
   { Targets }
 | 
			
		||||
     Add('');
 | 
			
		||||
     Add('UNITOBJECTS='+userini.targetunits[0]);
 | 
			
		||||
     Add('EXEOBJECTS='+userini.targetprograms[0]);
 | 
			
		||||
     for i:=1to targets do
 | 
			
		||||
      if (userini.targetunits[i]<>'') or
 | 
			
		||||
         (userini.targetprograms[i]<>'') then
 | 
			
		||||
      begin
 | 
			
		||||
        Add('ifeq ($(OS_TARGET),'+targetstr[i]+')');
 | 
			
		||||
        if userini.targetunits[i]<>'' then
 | 
			
		||||
         Add('UNITOBJECTS+='+userini.targetunits[i]);
 | 
			
		||||
        if userini.targetprograms[i]<>'' then
 | 
			
		||||
         Add('EXEOBJECTS+='+userini.targetprograms[i]);
 | 
			
		||||
        Add('endif');
 | 
			
		||||
        AddHead('Pre Settings');
 | 
			
		||||
        AddStrings(userini.PreSettings);
 | 
			
		||||
      end;
 | 
			
		||||
 | 
			
		||||
   { Targets }
 | 
			
		||||
     AddHead('Targets');
 | 
			
		||||
     AddTargets('LOADEROBJECTS',userini.targetloaders);
 | 
			
		||||
     AddTargets('UNITOBJECTS',userini.targetunits);
 | 
			
		||||
     AddTargets('EXEOBJECTS',userini.targetprograms);
 | 
			
		||||
 | 
			
		||||
   { Clean }
 | 
			
		||||
     AddHead('Clean');
 | 
			
		||||
     AddTargets('EXTRACLEANUNITS',userini.cleanunits);
 | 
			
		||||
     AddTargets('EXTRACLEANFILES',userini.cleanfiles);
 | 
			
		||||
 | 
			
		||||
   { Install }
 | 
			
		||||
     AddHead('Install');
 | 
			
		||||
     AddTargets('EXTRAINSTALLUNITS',userini.installunits);
 | 
			
		||||
     AddTargets('EXTRAINSTALLFILES',userini.installfiles);
 | 
			
		||||
 | 
			
		||||
   { Defaults }
 | 
			
		||||
     Add('');
 | 
			
		||||
     AddHead('Defaults');
 | 
			
		||||
     if userini.defaultunits then
 | 
			
		||||
      Add('DEFAULTUNITS=1');
 | 
			
		||||
     if userini.defaultoptions<>'' then
 | 
			
		||||
      Add('override NEEDOPT='+userini.defaultoptions);
 | 
			
		||||
 | 
			
		||||
   { Dirs }
 | 
			
		||||
     Add('');
 | 
			
		||||
     AddHead('Directories');
 | 
			
		||||
     if userini.dirfpc<>'' then
 | 
			
		||||
      begin
 | 
			
		||||
        { this dir can be set in the environment, it's more a default }
 | 
			
		||||
@ -391,14 +431,14 @@ begin
 | 
			
		||||
      end;
 | 
			
		||||
 | 
			
		||||
   { Libs }
 | 
			
		||||
     Add('');
 | 
			
		||||
     AddHead('Libraries');
 | 
			
		||||
     if userini.libgcc then
 | 
			
		||||
      Add('override NEEDGCCLIB=1');
 | 
			
		||||
     if userini.libother then
 | 
			
		||||
      Add('override NEEDOTHERLIB=1');
 | 
			
		||||
 | 
			
		||||
   { Info }
 | 
			
		||||
     Add('');
 | 
			
		||||
     AddHead('Info');
 | 
			
		||||
     hs:='';
 | 
			
		||||
     if userini.infocfg then
 | 
			
		||||
      hs:=hs+'fpc_infocfg ';
 | 
			
		||||
@ -416,7 +456,10 @@ begin
 | 
			
		||||
 | 
			
		||||
   { Post Settings }
 | 
			
		||||
     if userini.PostSettings.count>0 then
 | 
			
		||||
      AddStrings(userini.PostSettings);
 | 
			
		||||
      begin
 | 
			
		||||
        AddHead('Post Settings');
 | 
			
		||||
        AddStrings(userini.PostSettings);
 | 
			
		||||
      end;
 | 
			
		||||
 | 
			
		||||
   { commandline }
 | 
			
		||||
     Add('');
 | 
			
		||||
@ -431,8 +474,6 @@ begin
 | 
			
		||||
     AddSection(userini.libgcc,'command_gcclib');
 | 
			
		||||
     AddSection(userini.libother,'command_otherlib');
 | 
			
		||||
     AddSection((userini.dirinc<>''),'command_inc');
 | 
			
		||||
     AddSection((userini.dirprocinc<>''),'command_procinc');
 | 
			
		||||
     AddSection((userini.dirosinc<>''),'command_osinc');
 | 
			
		||||
     AddSection((userini.dirtarget<>''),'command_target');
 | 
			
		||||
     AddSection((userini.dirunittarget<>''),'command_unittarget');
 | 
			
		||||
     AddSection(true,'command_smartlink');
 | 
			
		||||
@ -527,7 +568,10 @@ begin
 | 
			
		||||
end.
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.3  1999-11-04 12:07:13  michael
 | 
			
		||||
  Revision 1.4  1999-11-08 15:01:39  peter
 | 
			
		||||
    * fpcmake support
 | 
			
		||||
 | 
			
		||||
  Revision 1.3  1999/11/04 12:07:13  michael
 | 
			
		||||
  + Now envvar is used
 | 
			
		||||
 | 
			
		||||
  Revision 1.2  1999/11/03 23:39:53  peter
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										57
									
								
								utils/h2pas/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								utils/h2pas/Makefile.fpc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
			
		||||
#
 | 
			
		||||
#   Makefile.fpc for shedit
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
[targets]
 | 
			
		||||
units=
 | 
			
		||||
programs=h2pas
 | 
			
		||||
 | 
			
		||||
[clean]
 | 
			
		||||
units=options lexlib scan yacclib converu
 | 
			
		||||
 | 
			
		||||
[dirs]
 | 
			
		||||
fpcdir=../..
 | 
			
		||||
 | 
			
		||||
[defaults]
 | 
			
		||||
defaultoptions=-Sg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[rules]
 | 
			
		||||
# do we have pyacc?
 | 
			
		||||
ifndef PYACC
 | 
			
		||||
PYACC=$(strip $(wildcard $(addsuffix /pyacc$(EXEEXT),$(SEARCHPATH))))
 | 
			
		||||
ifeq ($(PYACC),)
 | 
			
		||||
PYACC=
 | 
			
		||||
else
 | 
			
		||||
export PYACC:=$(firstword $(PYACC))
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# do we have plex?
 | 
			
		||||
ifndef PLEX
 | 
			
		||||
PLEX=$(strip $(wildcard $(addsuffix /plex$(EXEEXT),$(SEARCHPATH))))
 | 
			
		||||
ifeq ($(PLEX),)
 | 
			
		||||
PLEX=
 | 
			
		||||
else
 | 
			
		||||
export PLEX:=$(firstword $(PLEX))
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
h2pas$(EXEEXT): h2pas$(PASEXT)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Lex and Yacc (only if pyacc is found)
 | 
			
		||||
#
 | 
			
		||||
ifdef  PYACC
 | 
			
		||||
h2pas$(PASEXT): h2pas.y
 | 
			
		||||
        $(PYACC) h2pas.y
 | 
			
		||||
 | 
			
		||||
yacclex: yacc lex
 | 
			
		||||
 | 
			
		||||
yacc:
 | 
			
		||||
        $(PYACC) h2pas.y
 | 
			
		||||
 | 
			
		||||
lex :
 | 
			
		||||
        $(PLEX) scan.l
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user