Einzelnen Beitrag anzeigen

dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#1

Wie muss ein makefile für ein Delphiprojekt aussehen?

  Alt 9. Jan 2006, 07:45
Hallo,

kann mir jemand hier sagen wie man makefiles für Delphi Programme macht? Ich habe zwar auf einer Seite etwas gefunden, aber derjenige macht es so:

Code:
#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe -RC:\Programme\Borland\BDS\3.0\lib $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = Test.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------

Test.exe: Test.dpr
  $(DCC)
Jetzt habe ich aber das Problem, das make diese Datei immer baut wenn die exe nciht da ist, aber nicht wenn sich etwas in den .pas Dateien geändert hat. ALso habe ich es so versucht:

Code:
#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe -RC:\Programme\Borland\BDS\3.0\lib $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = Test.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------

Test.exe: Test.dpr
  $(DCC)

Test.dpr: unit2.pas unit3.pas unit4.pas
Aber auch das funktioniert nicht. Jetzt baut er auch nur eine exe wenn die exe nciht mehr da ist, inotiert aber Änderungen an den .pas Dateien solange die exe im Verzeichniss liegt. Der Sinn von make ist doch aber, das er bei jeder Änderung an irgendeiner Datei die exe neu baut

Also habe ich versucht:

Code:
#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe -RC:\Programme\Borland\BDS\3.0\lib $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = Test.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------

Test.exe: Test.dpr
  $(DCC)

Test.exe: Unit2.pas unit3.pas unit4.pas
  $(DCC)
Das hat zu Folge, das jetzt immer die pas-Dateien compiliert werden, aber die exe nur gebaut wird, wenn diese nicht mehr vorhanden ist.

Wie bekomme ich es nun hin, das die exe immer gebaut wird wenn diese fehlt oder aber sich etwas in den .pas Dateien geändert hat? Ich bekomme es einfach nicht hin

Gruß

Dragi
Delphi 3 Professional @home
Delphi 2005 PE @home
Delphi 2005 Enterprise @work
  Mit Zitat antworten Zitat