ZNFS - ZeX/OS Network Filesystem added; virtual block device support added; added...
[ZeXOS.git] / kernel / arch / i386 / Makefile
blob047b62e3b08f6e714ddad641ca91960be3ad732b
1 .SUFFIXES: .asm
3 ARCH =i386
5 CFLAGS =-Wall -O -fstrength-reduce -fomit-frame-pointer -fcombine-regs
6 # defines
7 MAKEFILE=Makefile
8 MAKEDEP=$(MAKEFILE)
9 INCDIR =../../include/
10 NASM =nasm -f elf
11 CC =gcc -m32 -g -O2 -nostdinc -fno-builtin -I$(INCDIR) -I../../build/main
12 CCASM =gcc -D__ASSEMBLY__ -g -Os -pipe -fno-strict-aliasing -fno-builtin -ffreestanding
13 OBJS =int.o arch.o gdt.o idt.o isrs.o irq.o timer.o vm86.o paging_i486.o paging.o rtc.o task.o syscall.o io.o elf32.o smp.o ipi.o
15 ifneq ($(V),1)
16 Q := @
17 endif
19 # targets
20 all: arch.a
22 clean:
23 $(Q)rm -f *.o ../arch.a boot/start.o $(OBJS)
24 @printf " CLEAN\n";
25 # implicit rules
26 .s.o:
27 $(CC) -c -o$@ $<
29 .asm.o:
30 @printf " ASM $(subst $(shell pwd)/,,$(@))\n";
31 $(Q)$(NASM) -o$@ $<
33 .S.o:
34 @printf " ASM $(subst $(shell pwd)/,,$(@))\n";
35 $(Q)$(CCASM) -c -o$@ $<
37 .c.o:
38 @printf " CC $(subst $(shell pwd)/,,$(@))\n";
39 $(Q)$(CC) -c -o$@ $<
41 #: dependencies
42 # i386
43 int.o: int.asm $(MAKEDEP)
44 paging_i486.o: paging_i486.asm $(MAKEDEP)
45 paging.o: paging.c $(MAKEDEP)
46 gdt.o: gdt.c $(MAKEDEP)
47 idt.o: idt.c $(MAKEDEP)
48 isrs.o: isrs.c $(MAKEDEP)
49 irq.o: irq.c $(MAKEDEP)
50 timer.o: timer.c $(MAKEDEP)
51 arch.o: arch.c $(MAKEDEP)
52 vm86.o: vm86.c $(MAKEDEP)
53 rtc.o: rtc.c $(MAKEDEP)
54 task.o: task.c $(MAKEDEP)
55 syscall.o: syscall.c $(MAKEDEP)
56 io.o: io.c $(MAKEDEP)
57 elf32.o: elf32.c $(MAKEDEP)
58 smp.o: smp.c $(MAKEDEP)
59 ipi.o: ipi.c $(MAKEDEP)
61 # explicit rules
62 arch.a: $(OBJS) $(MAKEDEP)
63 @printf " AR $(subst $(shell pwd)/,,$(@))\n";
64 $(Q)ar rcs ../arch.a $(OBJS)