diff --git a/compiler/Makefile b/compiler/Makefile index 48e41215e5..9895208714 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/12/05] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/12/11] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos netwlibc @@ -257,15 +257,13 @@ COMPILERUTILSDIR=utils ifndef FPCLANG FPCLANG=e endif -ifndef LOCALDEF -LOCALDEF= -endif ifndef LOCALOPT -LOCALOPT=$(OPT) +LOCALOPT:=$(OPT) endif -ifndef RTLOPTS -RTLOPTS=$(OPT) +ifndef RTLOPT +RTLOPT:=$(OPT) endif +override OPT= MSGFILES=$(wildcard msg/error*.msg) ifeq ($(PPC_TARGET),i386) CPUSUF=386 @@ -289,57 +287,41 @@ ifeq ($(PPC_TARGET),arm) CPUSUF=arm endif NOCPUDEF=1 +MSGFILE=msg/error$(FPCLANG).msg ifeq ($(OS_TARGET),linux) ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -override LOCALDEF+=-dUNIX +override LOCALOPT+=-dUNIX endif endif ifeq ($(OS_TARGET),freebsd) ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -override LOCALDEF+=-dUNIX +override LOCALOPT+=-dUNIX endif endif -MSGFILE=msg/error$(FPCLANG).msg -override LOCALDEF+=-d$(PPC_TARGET) -dGDB -dBROWSERLOG +override LOCALOPT+=-d$(PPC_TARGET) -dGDB -dBROWSERLOG ifeq ($(PPC_TARGET),i386) -override LOCALDEF+=-Fux86 +override LOCALOPT+=-Fux86 endif ifeq ($(PPC_TARGET),x86_64) -override LOCALDEF+=-Fux86 +override LOCALOPT+=-Fux86 endif ifeq ($(PPC_TARGET),powerpc) -override LOCALDEF+= +override LOCALOPT+= endif ifeq ($(PPC_TARGET),m68k) -override LOCALDEF+=-dNOOPT +override LOCALOPT+=-dNOOPT endif ifeq ($(PPC_TARGET),sparc) -override LOCALDEF+= +override LOCALOPT+= endif ifeq ($(PPC_TARGET),m68k) ifeq ($(OS_TARGET),amiga) -override LOCALDEF+=-Ct -endif -endif -ifeq ($(PPC_TARGET),m68k) -ifeq ($(OS_TARGET),amiga) -override LOCALDEF+=-Ct +override LOCALOPT+=-Ct endif endif ifeq ($(PPC_TARGET),arm) -override LOCALDEF+=-dNOOPT +override LOCALOPT+=-dNOOPT endif -PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc.exe,$(SEARCHPATH)))) -ifeq ($(PASDOC),) -PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc,$(SEARCHPATH)))) -endif -ifeq ($(PASDOC),) -PASDOC:=../projects/pasdoc/bin/pasdoc -else -PASDOC:=$(firstword $(PASDOC)) -endif -override LOCALOPT+=$(LOCALDEF) -override FPCOPT:=$(LOCALOPT) override TARGET_DIRS+=utils override TARGET_PROGRAMS+=pp override INSTALL_FPCPACKAGE=y @@ -1877,7 +1859,19 @@ ifeq ($(OS_TARGET),win32) ifdef CMP override DIFF:=$(CMP) -i218 endif -override COMPILER+=-XX +endif +override COMPILER+=$(LOCALOPT) +ifneq ($(findstring 1.0.,$(FPC_VERSION)),) +override COMPILER:=$(patsubst -O%,,$(COMPILER)) +endif +PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc.exe,$(SEARCHPATH)))) +ifeq ($(PASDOC),) +PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc,$(SEARCHPATH)))) +endif +ifeq ($(PASDOC),) +PASDOC:=../projects/pasdoc/bin/pasdoc +else +PASDOC:=$(firstword $(PASDOC)) endif ifndef EXENAME EXENAME=ppc$(CPUSUF)$(EXEEXT) @@ -1929,14 +1923,6 @@ cycleclean: cleanall $(addsuffix _clean,$(PPC_TARGET)) -$(DEL) $(EXENAME) clean: tempclean execlean cleanall $(addsuffix _clean,$(PPC_TARGET)) $(addsuffix _clean,$(TARGET_DIRS)) distclean: tempclean execlean cleanall $(addsuffix _clean,$(CYCLETARGETS)) $(addsuffix _distclean,$(TARGET_DIRS)) -$(MAKEDEP): $(UTILSDIR)/ppdep.pp - $(COMPILER) $(UTILSDIR)/ppdep.pp - $(COPY) $(UTILSDIR)/$(MAKEDEP) $(MAKEDEP) -dependencies : $(MAKEDEP) - $(MAKEDEP) pp.pas $(FPCOPTDEF) $(LOCALDEF) '-F$$(COMPILER) $$(LOCALOPT)' > depend -ifdef USEDEPEND -include depend -endif $(MSG2INC): $(COMPILERUTILSDIR)/msg2inc.pp $(COMPILER) -FE. $(COMPILERUTILSDIR)/msg2inc.pp msgtxt.inc: $(MSGFILE) @@ -2015,7 +2001,7 @@ cycledep: extcycle: $(MAKE) cycle OPT='-n -OG2p3 -gl -CRriot -dEXTDEBUG' cvstest: - $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPTS=-n -Se' + $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPT=-n -Se' full: fullcycle fullcycle: $(MAKE) cycle @@ -2059,7 +2045,7 @@ ifneq ($(PPCCPULOCATION),$(INSTALL_BINDIR)) endif .PHONY: rtl rtlclean rtlinstall rtl: - $(MAKE) -C $(PACKAGEDIR_RTL) 'OPT=$(RTLOPTS)' all + $(MAKE) -C $(PACKAGEDIR_RTL) 'OPT=$(RTLOPT)' all rtlclean: $(MAKE) -C $(PACKAGEDIR_RTL) clean rtlinstall: diff --git a/compiler/Makefile.fpc b/compiler/Makefile.fpc index 34503a28f4..66f6502e38 100644 --- a/compiler/Makefile.fpc +++ b/compiler/Makefile.fpc @@ -86,21 +86,19 @@ ifndef FPCLANG FPCLANG=e endif -# Local defines for the compiler only -ifndef LOCALDEF -LOCALDEF= -endif - # Local options for the compiler only ifndef LOCALOPT -LOCALOPT=$(OPT) +LOCALOPT:=$(OPT) endif # Options for the RTL only when cycling -ifndef RTLOPTS -RTLOPTS=$(OPT) +ifndef RTLOPT +RTLOPT:=$(OPT) endif +# Make OPT empty. It is copied to LOCALOPT and RTLOPT +override OPT= + # Message files MSGFILES=$(wildcard msg/error*.msg) @@ -131,83 +129,62 @@ endif # will conflict with our -d$(PPC_TARGET) NOCPUDEF=1 +# Default message file +MSGFILE=msg/error$(FPCLANG).msg + # Define Unix also for Linux ifeq ($(OS_TARGET),linux) ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -override LOCALDEF+=-dUNIX +override LOCALOPT+=-dUNIX endif endif ifeq ($(OS_TARGET),freebsd) ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -override LOCALDEF+=-dUNIX +override LOCALOPT+=-dUNIX endif endif -# Default message file -MSGFILE=msg/error$(FPCLANG).msg - # set correct defines (-d$(CPU_TARGET) is automaticly added in makefile.fpc) -override LOCALDEF+=-d$(PPC_TARGET) -dGDB -dBROWSERLOG +override LOCALOPT+=-d$(PPC_TARGET) -dGDB -dBROWSERLOG # i386 specific ifeq ($(PPC_TARGET),i386) -override LOCALDEF+=-Fux86 +override LOCALOPT+=-Fux86 endif # x86_64 specific ifeq ($(PPC_TARGET),x86_64) -override LOCALDEF+=-Fux86 +override LOCALOPT+=-Fux86 endif # PowerPC specific ifeq ($(PPC_TARGET),powerpc) -override LOCALDEF+= +override LOCALOPT+= endif # m68k specific ifeq ($(PPC_TARGET),m68k) -override LOCALDEF+=-dNOOPT +override LOCALOPT+=-dNOOPT endif # Sparc specific ifeq ($(PPC_TARGET),sparc) -override LOCALDEF+= +override LOCALOPT+= endif # m68k specific with low stack ifeq ($(PPC_TARGET),m68k) ifeq ($(OS_TARGET),amiga) -override LOCALDEF+=-Ct -endif -endif - -ifeq ($(PPC_TARGET),m68k) -ifeq ($(OS_TARGET),amiga) -override LOCALDEF+=-Ct +override LOCALOPT+=-Ct endif endif # ARM specific ifeq ($(PPC_TARGET),arm) -override LOCALDEF+=-dNOOPT +override LOCALOPT+=-dNOOPT endif -PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc.exe,$(SEARCHPATH)))) -ifeq ($(PASDOC),) -PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc,$(SEARCHPATH)))) -endif -ifeq ($(PASDOC),) -PASDOC:=../projects/pasdoc/bin/pasdoc -else -PASDOC:=$(firstword $(PASDOC)) -endif - -override LOCALOPT+=$(LOCALDEF) - -override FPCOPT:=$(LOCALOPT) - - [rules] ##################################################################### # Setup Targets @@ -217,8 +194,29 @@ ifeq ($(OS_TARGET),win32) ifdef CMP override DIFF:=$(CMP) -i218 endif -# force try to smartlink for windows unit -override COMPILER+=-XX +endif + +# Add Local options +override COMPILER+=$(LOCALOPT) + +# Disable optimizer when compiled with 1.0.x +ifneq ($(findstring 1.0.,$(FPC_VERSION)),) +override COMPILER:=$(patsubst -O%,,$(COMPILER)) +endif + + +##################################################################### +# PASDoc +##################################################################### + +PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc.exe,$(SEARCHPATH)))) +ifeq ($(PASDOC),) +PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc,$(SEARCHPATH)))) +endif +ifeq ($(PASDOC),) +PASDOC:=../projects/pasdoc/bin/pasdoc +else +PASDOC:=$(firstword $(PASDOC)) endif @@ -305,24 +303,6 @@ clean: tempclean execlean cleanall $(addsuffix _clean,$(PPC_TARGET)) $(addsuffix distclean: tempclean execlean cleanall $(addsuffix _clean,$(CYCLETARGETS)) $(addsuffix _distclean,$(TARGET_DIRS)) -##################################################################### -# Include depencies -##################################################################### - -$(MAKEDEP): $(UTILSDIR)/ppdep.pp - $(COMPILER) $(UTILSDIR)/ppdep.pp - $(COPY) $(UTILSDIR)/$(MAKEDEP) $(MAKEDEP) - -dependencies : $(MAKEDEP) - $(MAKEDEP) pp.pas $(FPCOPTDEF) $(LOCALDEF) '-F$$(COMPILER) $$(LOCALOPT)' > depend - -ifdef USEDEPEND - -include depend - -endif - - ##################################################################### # Make targets ##################################################################### @@ -469,7 +449,7 @@ extcycle: $(MAKE) cycle OPT='-n -OG2p3 -gl -CRriot -dEXTDEBUG' cvstest: - $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPTS=-n -Se' + $(MAKE) cycle 'LOCALOPT=-n -Se' 'RTLOPT=-n -Se' ########################## @@ -553,7 +533,7 @@ endif .PHONY: rtl rtlclean rtlinstall rtl: - $(MAKE) -C $(PACKAGEDIR_RTL) 'OPT=$(RTLOPTS)' all + $(MAKE) -C $(PACKAGEDIR_RTL) 'OPT=$(RTLOPT)' all rtlclean: $(MAKE) -C $(PACKAGEDIR_RTL) clean diff --git a/compiler/depend b/compiler/depend deleted file mode 100644 index 368d2b5ecb..0000000000 --- a/compiler/depend +++ /dev/null @@ -1,339 +0,0 @@ -pp: pp.pas \ - globals.ppu \ - compiler.ppu - $(COMPILER) $(LOCALOPT) pp.pas - -globals.ppu: globals.pas \ - cobjects.ppu \ - systems.ppu - -cobjects.ppu: cobjects.pas - -systems.ppu: systems.pas - -compiler.ppu: compiler.pas \ - verbose.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - options.ppu \ - parser.ppu \ - symtable.ppu \ - link.ppu \ - import.ppu - -verbose.ppu: verbose.pas \ - messages.ppu \ - files.ppu \ - comphook.ppu \ - globals.ppu - -messages.ppu: messages.pas - -files.ppu: files.pas \ - cobjects.ppu \ - globals.ppu \ - ppu.ppu \ - verbose.ppu \ - systems.ppu - -ppu.ppu: ppu.pas - -comphook.ppu: comphook.pas - -options.ppu: options.pas \ - verbose.ppu \ - cobjects.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - scanner.ppu \ - link.ppu \ - messages.ppu \ - gendef.ppu - -scanner.ppu: scanner.pas \ - cobjects.ppu \ - globals.ppu \ - verbose.ppu \ - comphook.ppu \ - files.ppu \ - systems.ppu \ - symtable.ppu \ - switches.ppu - -symtable.ppu: symtable.pas \ - cobjects.ppu \ - verbose.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - aasm.ppu \ - files.ppu \ - gendef.ppu \ - types.ppu \ - ppu.ppu \ - hcodegen.ppu - -aasm.ppu: aasm.pas \ - cobjects.ppu \ - files.ppu \ - globals.ppu \ - verbose.ppu \ - systems.ppu - -gendef.ppu: gendef.pas \ - cobjects.ppu \ - systems.ppu \ - globals.ppu - -types.ppu: types.pas \ - cobjects.ppu \ - globals.ppu \ - symtable.ppu \ - verbose.ppu \ - aasm.ppu - -hcodegen.ppu: hcodegen.pas \ - verbose.ppu \ - aasm.ppu \ - tree.ppu \ - symtable.ppu \ - systems.ppu \ - comphook.ppu \ - cobjects.ppu \ - globals.ppu \ - files.ppu - -tree.ppu: tree.pas \ - cobjects.ppu \ - globals.ppu \ - symtable.ppu \ - aasm.ppu \ - types.ppu \ - verbose.ppu \ - files.ppu - -switches.ppu: switches.pas \ - globals.ppu \ - verbose.ppu \ - files.ppu \ - systems.ppu - -link.ppu: link.pas \ - cobjects.ppu \ - files.ppu \ - script.ppu \ - globals.ppu \ - systems.ppu \ - verbose.ppu - -script.ppu: script.pas \ - cobjects.ppu \ - globals.ppu \ - systems.ppu - -parser.ppu: parser.pas \ - cobjects.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - hcodegen.ppu \ - verbose.ppu \ - symtable.ppu \ - files.ppu \ - aasm.ppu \ - assemble.ppu \ - link.ppu \ - script.ppu \ - gendef.ppu \ - scanner.ppu \ - pbase.ppu \ - pdecl.ppu \ - psystem.ppu \ - pmodules.ppu - -assemble.ppu: assemble.pas \ - cobjects.ppu \ - globals.ppu \ - aasm.ppu \ - script.ppu \ - files.ppu \ - systems.ppu \ - verbose.ppu - -pbase.ppu: pbase.pas \ - cobjects.ppu \ - globals.ppu \ - symtable.ppu \ - files.ppu \ - scanner.ppu \ - systems.ppu \ - verbose.ppu - -pdecl.ppu: pdecl.pas \ - globals.ppu \ - symtable.ppu \ - cobjects.ppu \ - scanner.ppu \ - aasm.ppu \ - tree.ppu \ - pass_1.ppu \ - files.ppu \ - types.ppu \ - hcodegen.ppu \ - verbose.ppu \ - systems.ppu \ - pbase.ppu \ - ptconst.ppu \ - pexpr.ppu \ - psub.ppu \ - pexports.ppu - -pass_1.ppu: pass_1.pas \ - tree.ppu \ - cobjects.ppu \ - verbose.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - aasm.ppu \ - symtable.ppu \ - types.ppu \ - hcodegen.ppu \ - files.ppu - -ptconst.ppu: ptconst.pas \ - symtable.ppu \ - cobjects.ppu \ - globals.ppu \ - scanner.ppu \ - aasm.ppu \ - tree.ppu \ - pass_1.ppu \ - hcodegen.ppu \ - types.ppu \ - verbose.ppu \ - pbase.ppu \ - pexpr.ppu - -pexpr.ppu: pexpr.pas \ - symtable.ppu \ - tree.ppu \ - cobjects.ppu \ - globals.ppu \ - scanner.ppu \ - aasm.ppu \ - pass_1.ppu \ - systems.ppu \ - hcodegen.ppu \ - types.ppu \ - verbose.ppu \ - pbase.ppu \ - pdecl.ppu - -psub.ppu: psub.pas \ - cobjects.ppu \ - symtable.ppu \ - globals.ppu \ - scanner.ppu \ - aasm.ppu \ - tree.ppu \ - types.ppu \ - files.ppu \ - verbose.ppu \ - systems.ppu \ - import.ppu \ - gendef.ppu \ - hcodegen.ppu \ - temp_gen.ppu \ - pass_1.ppu \ - pass_2.ppu \ - pbase.ppu \ - pdecl.ppu \ - pexpr.ppu \ - pstatmnt.ppu - -import.ppu: import.pas \ - cobjects.ppu \ - systems.ppu \ - verbose.ppu - -temp_gen.ppu: temp_gen.pas \ - cobjects.ppu \ - globals.ppu \ - tree.ppu \ - hcodegen.ppu \ - verbose.ppu \ - files.ppu \ - aasm.ppu - -pass_2.ppu: pass_2.pas \ - tree.ppu \ - cobjects.ppu \ - verbose.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - files.ppu \ - symtable.ppu \ - types.ppu \ - aasm.ppu \ - scanner.ppu \ - pass_1.ppu \ - hcodegen.ppu \ - temp_gen.ppu - -pstatmnt.ppu: pstatmnt.pas \ - tree.ppu \ - cobjects.ppu \ - globals.ppu \ - files.ppu \ - verbose.ppu \ - systems.ppu \ - symtable.ppu \ - aasm.ppu \ - pass_1.ppu \ - types.ppu \ - scanner.ppu \ - hcodegen.ppu \ - ppu.ppu \ - pbase.ppu \ - pexpr.ppu \ - pdecl.ppu - -pexports.ppu: pexports.pas \ - cobjects.ppu \ - globals.ppu \ - scanner.ppu \ - symtable.ppu \ - pbase.ppu \ - verbose.ppu - -psystem.ppu: psystem.pas \ - symtable.ppu \ - globals.ppu \ - tree.ppu - -pmodules.ppu: pmodules.pas \ - cobjects.ppu \ - comphook.ppu \ - systems.ppu \ - globals.ppu \ - symtable.ppu \ - aasm.ppu \ - files.ppu \ - hcodegen.ppu \ - verbose.ppu \ - link.ppu \ - assemble.ppu \ - import.ppu \ - gendef.ppu \ - ppu.ppu \ - scanner.ppu \ - pbase.ppu \ - psystem.ppu \ - pdecl.ppu \ - psub.ppu \ - parser.ppu -