Makefile für mehrere Sourcefiles



  • Nabend,

    ich habe mal eine Frage zu den Makefiles.
    Ich möchte mir eine rekursive Makefile-Struktur aufbauen.
    Dafür habe ich mir ein Makefile.rules geschrieben.
    Die sieht so aus:

    # rules for the makefiles
    
    LD = /usr/bin/ld
    CC = /usr/bin/gcc
    NASM = /usr/bin/nasm
    HOME_DIR = /home
    LDFLAGS = -T linker.ld -I.$(HOME_DIR)/kernel/include -o
    CFLAGS = -O0 -fstrength-reduce -fomit-frame-pointer -finline-functions -fno-stack-protector -nostdinc -fno-builtin -march=i386 -I../include -c -o
    ASMFLAGS = -felf -o
    
    %.c.o:%.c
    	$(CC) $(CFLAGS) $(HOME_DIR) $<
    
    %.asm.o:%.asm
    	$(NASM) $(ASMFLAGS) $<
    

    Mein Problem ist der folgende Teil:

    %.c.o:%.c
    	$(CC) $(CFLAGS) $(HOME_DIR) $<
    
    %.asm.o:%.asm
    	$(NASM) $(ASMFLAGS) $<
    

    Wie kann ich den schreiben, dass ich meine kompilierten Sourcefiles in einen bestimmten Ordner packe?
    Das sollte dann ungefähr so aussehen:
    gcc FLAGS -c HOME_DIR/obj SOURCE-FILES

    Leider habe ich keine Ahnung wie das geht.

    Danke.



  • [EDIT]

    Wie sieht denn dann das dazugehörige Makefile in den Subdirectories aus?



  • ich verstehe nicht was du vor hast. was ist in welchem Ordner und wohin soll es kompiliert werden?


Anmelden zum Antworten