carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
2.432 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 1911 von 2963 (64%) |<   <   >   >|

Autor m 3
Datum 07.04.02, 10:56
Betreff Re: Makefile


Makefiles sind eine feine Sache.
Neuerdings steigen viele auf ant um [1], aber das würde ich auf später verschieben.
In den Makefiles steht drin, welcher source von welchem abhängt. Wurde ein source geändert, wird von einem kleinen tool namens make oder nmake[2] die neue Klassendatei erstellt, indem der Compiler aufgerufen wird.
Makefiles sind anfangs etwas verwirrend, aber man schreibt sie im Prinzip nur einmal und passt sie für alle weiteren "Projekte" nur noch an.
Beispiel:
HOME=e:\programming\java
JC=d:\jdk1.4\bin\javac
JR=d:\jdk1.4\bin\java
JLIB=$(HOME)\java_lib
CLASSPATH=.;$(HOME);$(HOME)\genalg_II;$(JLIB);$(JLIB)\algorithms\jgl3.1.0.jar;$(HOME)\examples

all: Singleton.class KfmRound.class LayoutTest1.class
PerfAnal.class: PerfAnal.java

LayoutTest1.class: LayoutTest1.java
$(JC) -classpath $(CLASSPATH) LayoutTest1.java

KfmRound.class: KfmRound.java
javac KfmRound.java

Singleton.class: Singleton.java
javac Singleton.java

rlt: LayoutTest1.class
$(JR) LayoutTest1

rKfm: all
java KfmRound

In HOME steht das Stammverzeichniss meiner source, der Name ist frei wählbar, kannst auch
MEINESOURCESTEHENHIER="c:\eigene dateien"
nehmen.
Alles was da mit XYZ=... steht sind so eine Art Umgebungsvariablen.
Das vor dem ":" am Zeilenanfang ist ein Target.
Das Target "LayoutTest1.class" hängt von "LayoutTest1.java" ab. Ist LayoutTest1.java neuer als LayoutTest1.class, wird die Zeile darunter ausgeführt.
Vor dem "$(JC)" steht übrigens ein tabulator! wichtig!
Wenn Du vom JDK1.4 mal umsteigst auf ein JDK1.5, brauchst Du nur oben
"JC=d:\jdk1.4\bin\javac" in "JC=d:\jdk1.5\bin\javac" zu ändern. Du bist nicht mehr abhängig von irgendwelchen Umgebungsvariblen.

m3

[1] ant homepage:
http://jakarta.apache.org/ant/
Nicht ganz einfach da einzusteigen, macht aber Spass.

[2] nmake15.exe von Microsoft für Windows:
ftp://ftp.microsoft.com/softlib/mslfiles/
dort nach nmake suchen


Diskussionsverlauf:
Befehl javac in DOS unbekannt??? Kann das sein? Gruß Andrea
    Makefile
    Re: Befehl javac in DOS unbekannt??? Kann das sein? Gruß Andrea
        Re: Befehl javac in DOS unbekannt??? Kann das sein? Gruß Andrea
        Re: Makefile
            Re: Makefile

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com