Schreiben Sie ein makefile für das ARM-Projekt

Meine Projektstruktur sieht wie folgt aus:

.
├── build
├── src
|   ├── rbpi
|   |   └── gpio.h
|   ├── boot.c
|   ├── boot.s
|   └── kernel.c
└── linker.ld

Dies ist ein einfacher raspberry pi-kernel, lässt eine LED blinken!
Derzeit benutze ich eine einfache bat-Datei mit folgendem Inhalt zu bauen:

arm-none-eabi-gcc -g -O0 -mfpu=neon-vfpv4 -mfloat-abi=hard -march=armv7-a -mtune=cortex-a7 -nostartfiles -Wl,-T,linker.ld src/kernel.c src/boot.c src/boot.s -o build/kernel.elf
arm-none-eabi-objcopy build/kernel.elf -O binary build/kernel7.img

Da werde ich mehr hinzufügen, Dateien zu Projekt, hätte ich anfügen, jede Datei auf meine "buildscripts".

Wenn möglich, würde ich gerne eine makefile.

Wie sollte mein makefile Aussehen, wenn ich möchte, die folgenden "Regeln"?

  • Vor der Kompilierung, reinigen Sie alle *.elf und *.img Dateien aus dem build Verzeichnis.
  • Kompilieren Sie alle *.c und *.s Dateien aus dem src Verzeichnis.
  • Ausgabe der kernel.elf - Datei in das build Verzeichnis.
  • Verwenden Sie die linker-Skript linker.ld.
  • Nach der Kompilierung, Ausführung objcopy generiert eine binäre Datei.
Schreibe einen Kommentar