Archiv > Development

Makefile

(1/1)

P3f:
Hallo,

also ich verstehe nicht den genauen Syntax vom Makefile (also das was in dem jeweiligen Pluginverzeichnis). Gibt es da irgendwo ein README oder einen WIKI-Eintrag?

Ich bin ja gerne bereit weitere Plugins zu erstellen, aber dazu bräuchte ich diesen Syntax.

Gruß,

Pit

P.S: Natürlich habe ich mir schon verschiedene Makefiles als Muster angeschaut, aber es ist nicht transparent für mich geworden :wand  

clausmuus:
Brauchst Du ne grundlegende Anleitung zu Makefiles, oder nur zu den in den MLD verwendeten Regeln?

Claus

P3f:
Hi Claus,

mir geht eigentlich nur um die MLD-Spezifikas...

Mir ist (noch) nicht klar, welchen Block man wofür benötigt.

Gruß,

Pit

clausmuus:
OK, hier mal die wichtigsten Blöcke:

--- Code: ---- all
  Baut das addon
- clean
  Löscht alles was beim Bauen des Addons erstellt wurde
- $(modul)
  Dies ist der Block, in dem alle individuellen Anpassungen rein kommen.
  Hier kommen alle Abhängigkeiten rein, die vor dem bauen des Addons erfüllt sein müssen,
  und alle Scripte, die nach dem Erstellen des Ordners "addon" ausgeführt werden sollen.
  - $(addon)
    Erstellt den Ordner "addon" in den dann alles hineinkopiert wird, dass nachher im Addon enthalten sein soll
  - $(plugin)
    Wie $(addon), nur das zusätzlich noch das vdr-Plugin gebaut wird

--- End code ---
Und dann gibt's noch diese Konfigurations Variablen:

--- Code: ---- group
  beschreibt eine Versions Abhängigkeit von einem anderen Addon. Ein typischer Wert ist "kernel"
- version
  die Version des Addons
- version_of
  gibt einen Link an, aus dem die Version des Addons extrahiert werden soll, wenn version nicht angegeben ist
- latest_version
  gibt die Version an, die genommen werden soll, wenn version_of kein ergebnis erzielen konnte (weil der Link nicht existierte)
- modules
  gibt an, welche Kernel Module zum Addon hinzugefügt werden sollen
- modulesDir
  gibt ein Kernel Module Verzeichnis an, dass zum Addon hinzugefügt werden sollen
- deps
  gibt an, von welchen Ubuntu Paketen dieses Addon abhängig ist

--- End code ---
Ein minimales Makefile für ein VDR-Plugin Addon sieht so aus:

--- Code: ---include ../vdr/Makefile.plugin

all: ../vdr $(modul).$(suffix)

clean: plugin_clean

$(modul): $(plugin)
    

--- End code ---
und so eines für nen System Addon:

--- Code: ---include ../Makefile.default
include ../Makefile.tools

all: $(modul).$(suffix)

clean: _clean

$(modul): $(addon)
    

--- End code ---

Claus

Navigation

[0] Message Index

Go to full version