Ontwerp en bouw een besturingssysteem/Organisatie/Makefiles: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
k red. |
kGeen bewerkingssamenvatting |
||
Regel 5:
== Basisbestand ==
Maak in de hoofdmap van het project (<tt>/</tt>) een nieuw <tt>Makefile.inc</tt> bestand aan. Dit is het basisbestand voor alle andere makefiles, en heeft de volgende inhoud:
{{Code|Titel=/'''Makefile.inc'''|Code=<
CC = gcc
CFLAGS = -Wall -O -fno-stack-protector -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdlib -nostdinc -fno-builtin -I./include
Regel 22:
force_look :
true
</
Regel 34:
== Hoofdmap makefile ==
Het vorige bestand is geen echte makefile, maar bevat alleen de basis ervan. Dat gebruiken we in de echte makefile die gemaakt moet worden in dezelfde map (<tt>/</tt>), <tt>Makefile</tt> genaamd, zonder extensie. Het bestand heeft de volgende inhoud:
{{Code|Titel=/'''Makefile'''|Code=<
include Makefile.inc
Regel 52:
clean :
-for d in $(DIRS); do (cd $$d; $(MAKE) clean ); done
</
== Kernel makefile ==
Omdat de voorgaande makefile <tt>make</tt> aanroept in de submappen (alleen <tt>kernel</tt> in dit geval), moeten al die submappen ook een <tt>Makefile</tt> bestand bevatten. In <tt>/kernel/Makefile</tt> gebeurt het echte werk, en staat dan het volgende:
{{Code|Titel=/kernel/'''Makefile'''|Code=<
include ../Makefile.inc
Regel 92:
clean:
-$(RM) ./src/*.o ./src/*.obj $(MAINFILE)
</
|