Brauche Hilfe bei Makefile / Buildrechner
-
Hallo,
ich bin neu hier und muß euch dringend ein paar Fragen zu makefiles stellen...ich verzweifel nämlich gerade
Ich soll einen Buildrechner aufsetzen der folgendes macht:Aktuelle Sourcen aus CVS holen, compilieren und die binaries dann irgendwo hinkopieren.
Dazu habe ich mir nun für jedes Projekt einen Ordner angelegt und die Sourcen reinkopiert. In jedem Ordner liegt auch ein makefile welches das jeweilige projekt erstellen kann. Nun habe ich eine Batchdatei die jedes makefile nacheinander aufruft. Soweit ist das ja auch scchon OK. Jetzt sollen die makefiles aber erkennen ob Dateien fehlen und diese selbstständig aus CVS holen! Ist das überhauot möglich? Ich finde nichts dazu. Es ist das erstmal das ich irgendwas mit make mache.Habt ihr evtl. einen Tip für mich oder einen Lösungsansatz? Auch mein batchfile sieht ziemlich doof aus weil ich ein totaler Newbie in sowas bin:
@echo off echo. echo BUILD.BAT v0.1 - 2005-12-06 twi echo =============================== echo. echo "Cleaning" del Proj1\bin\*.* /P del Proj2\bin\*.* /P del Proj3\bin\*.* /P del Proj4\bin\*.* /P del Proj5\bin\*.* /P del Proj6\bin\*.* /P del Proj7\bin\*.* /P del Proj8\bin\*.* /P del Proj9\bin\*.* /P echo "Proj1" cd Proj1\src make cd .. cd .. echo "Proj2" cd Proj2\src make cd .. cd .. echo "Proj3" cd Proj3\src make cd .. cd .. echo "Proj4" cd Proj4\src make cd .. cd .. echo "Proj5" cd Proj5\src make cd .. cd .. echo "Proj6" cd Proj6\src make cd .. cd .. echo "Proj7" cd Proj7\src make cd .. cd .. echo "Proj8" cd Proj8\src make cd .. cd .. echo "Proj9" cd Proj9\src make cd .. cd .. pause
Und hier ein Exemplarisches makefile(sehen alle gleich aus bis jetzt):
#------------------------------------------------------------------------------ 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 = Proj1.exe #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ Proj1.exe: *.dpr $(DCC)
Könnt ihr mir evtl. helfen das schöner zu machen bzw. das es auch CVS kann?
Mit freundlichem gruß
twickl
-
Da du in den Makefiles ja einfach nur Konsolenkomandos eingibst, kannst du CVS ganz normal aufrufen: man: cvs
-
Aber wie kann ich denn erreichen das er den CVS Befehl nur ausführt wenn Dateien fehlen, make also eine Fehlermeldung ausgibt?
Gruß
twickl