-OBJS=multiboot_c.o multiboot_asm.o realmode.o loader.o ../pci/pci-raw.o ../lib/minilib.o ../lib/console.o ../ich2/smram-ich2.o ../ich2/smi.o
-CC=gcc
-CFLAGS=-nostdlib -I../include -I../include/raw -I. -D__RAW__ -fno-builtin -nostdinc
+-include ../config.mk
-all: multiboot
+OBJS=main.o mbentry.o realmode.o loader.o ../pci/pci-raw.o ../lib/minilib.o ../lib/console.o ../ich2/smram-ich2.o ../ich2/smi.o output.o ../lib/sprintf.o ../lib/doprnt.o ../pci/pci.o
+CC=$(CROSS)gcc
+CFLAGS=-nostdlib -I../include -I../include/raw -I. -D__RAW__ -fno-builtin -nostdinc -Wall -Werror -pedantic -std=gnu99
-multiboot: $(OBJS)
- ld -o multiboot $(OBJS) -Ttext=0x100000
+all: smmload
+
+smmload: $(OBJS)
+ $(CROSS)ld -o smmload $(OBJS) -Ttext=0x100000
realmode.bin: realmode.asm
nasm -o realmode.bin realmode.asm
realmode.o: realmode.bin
- objcopy -I binary -B i386 -O elf32-i386 realmode.bin realmode.o
+ $(CROSS)objcopy -I binary -B i386 -O elf32-i386 realmode.bin realmode.o
clean:
- rm -f $(OBJS) realmode.bin multiboot
+ rm -f $(OBJS) realmode.bin smmload