Hallo Leute,
ich bin seit neu in einer Firma und soll heute schon in einem SW-Projekt
mitwirken.
Nun habe ich einen Projektordner bekommen. in dem sich ein makefile und
eine Datei namens config.mk befindet.
Nun ist mir nicht ganz klar was die Dateinen machen.
In beiden dateinen steht in der ersten Zeile so etwas wie "ich bin ein
makefile"
Kann mir jemand den unterschied erklären? Die genauen files würde ich
nur sehr ungern posten um mich nicht in der zweiten Woche in der neuen
Firma zu "outen".
Es geht mir auch nur um die generellen Unterschiede und was die Dateine
machen und nicht um meine im Speziellen.
Ich danke euch für eure Hilfe.
Lieben Gruß
Bine
Das Make-file ist eine Steuerungsdatei für Programme, die normalerweise
in der Shell(Kommandozeilenkonsole) ausgeführt werden, um ein
Zielprogramm zu erzeugen. Dabei stellt das Ziel dann ein Hex-File dar.
Es kann für den PC, oder andere Rechnersysteme vorgesehen sein.
Um die Syntax zu verstehen kann ich Dir folgende Link empfehlen:
http://www.gnu.org/software/make/manual/make.htmlhttp://www.ijon.de/comp/tutorials/makefile.htmlhttp://mrbook.org/tutorials/make/
Aber was Du da nun genau machen sollst, ist dann die Kleinarbeit, um die
man sich bei Deiner Firma offentsichtlich nicht reißt.
Was soll denn dabei raus kommen. Ein PC-Programm?
Offensichltich würde ich eher auf eine Mikrokontroler-Target tippen.
Für welchen ist es denn?
Hallo,
ich denke, Du hast da ein Projekt vor Dir, welches mit Autotools
(Autoconf, Automake etc) arbeitet. Diese generieren Dir Dein Makefile,
was bedeutet, dass Du dort nicht selber Hand anlegen musst. Dafür
bearbeitest Du in der Regel Dateien wie configure.ac, Makefile.am oder
eben config.mk
Such mal in Richtung Autotools weiter, vielleicht hilft das.
Gruß
Björn
cskulkw schrieb:> Das Make-file ist eine Steuerungsdatei für Programme, die normalerweise> in der Shell(Kommandozeilenkonsole) ausgeführt werden, um ein> Zielprogramm zu erzeugen. Dabei stellt das Ziel dann ein Hex-File dar.> Es kann für den PC, oder andere Rechnersysteme vorgesehen sein.
Also es heisst Makefile (oder makefile) und muss auch so geschrieben
werden, sonst funktioniert es (meist) nicht.
In diesem Fall scheint aber das Makefile automatisiert mittels der
*.mk-Dateien erzeugt zu werden. Also geht man nicht an das Makefile ran,
sondern an die *.mk-Dateien.
Das Makefiles nur für die Entwicklung in einer Shell genutzt werden,
halte ich für ein Gerücht, diverse IDEs nutzen es, aber der Anwendet
merkt es einfach nur nicht.
Zu deinem Problem, frag doch einfach mal in einem Team nach. Mehrere
Build-Tools *.mk Dateien nutzen, mal so eben raten bringt da gar nicht.
Mögliche Kandidaten:
-autotools (GNU)
-mk-configure
autoconf:
http://hackage.haskell.org/trac/ghc/wiki/Building/Using
Danke für eure Antworten.
Also es geht um ein rein eingebettetes System mit einem AVR32-Mc.
Was mir jetzt aufgefallen ist, das das makefile nur allegemeine Infos
enthält und alles was Projetspezifisch ist in der confic.mk steht.
> und soll heute schon in einem SW-Projekt mitwirken.
Soll vorkommen in der Berufswelt.
> Nun ist mir nicht ganz klar was die Dateinen machen.
Das wird dir auch niemand sagen können ohne den Inhalt der Dateien zu
sehen.
Das Vorhandensein einer Datei namens config.mk deutet in keinster Weise
auf autotools hin. Es kann genausogut sein dass dieses config.mk auch
nur ein normales Makefile ist, und z.B. von einem anderen Makefile
mittels include eingebunden wird, so etwas sieht man häufig.
Es ist auch üblich, Makefiles welche nicht zur direkten Verwendung
gedacht sind eben nicht Makefile zu nennen sondern irgendwie anders, um
sie vor Make zu "tarnen", was dann z.B. den Namen config.mk erkären
würde.
Weiter können sich Make-Implementationen erheblich voneinander
unterscheiden, so dass das Manual von GNU Make unter Umständen ziemlich
nutzlos ist.
Die von Dir genannten Files werden in einem (speziellen)
Umfeld (=vermutlich Entwicklungsumgebung die Deine Firma benutzt)
verwendet. Die können, müssen aber nicht, Sonderfunktionen enthalten.
Ich würde mich nicht scheuen, gerade als "Beginner", nachzufragen.
(Ich habe >25 Jahre Berufserfahrung).
Wird sowas übel genommen, dann sagt das viel über die Firma bzw. das
Arbeitsumfeld dort aus.
Keiner kann (in der 2. Woche) die kleinen Geheimnisse kennen, also
frage ruhig nach.
Böse Leute würden jetzt über "mangelnde Dokumentation" lästern.
Ich weiss, dass dieser Beitrag der Fragestellerin nichts mehr bringt,
aber es hilft sicher anderen Leuten die ueber diesen Thread stolpern.
Ich habe zu den oben erwaehnten Auto Tools zu ergaenzen, dass das
config.mk ein normales Makefile sein kann, welches nur in ein anderes
eingebettet wird. In diesem Fall darf man sehr wohl config.mk und das
Makefile nach Belieben editieren.