Rev 864 | Rev 889 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 864 | Rev 886 | ||
---|---|---|---|
1 | CC = gcc |
1 | CC = gcc |
2 | FASM = fasm.exe |
2 | FASM = fasm.exe |
3 | 3 | ||
4 | INCLUDE = include/ |
4 | INCLUDE = include/ |
5 | 5 | ||
6 | DEFS = -DUSE_SMP -DCONFIG_DEBUG |
6 | DEFS = -DUSE_SMP -DCONFIG_DEBUG |
7 | 7 | ||
8 | CFLAGS = -c -O2 -I $(INCLUDE) -fomit-frame-pointer -fno-builtin-printf -masm=intel |
8 | CFLAGS = -c -O2 -I $(INCLUDE) -fomit-frame-pointer -fno-builtin-printf |
9 | LDFLAGS = -shared -s -Map kernel.map --image-base 0x100000 --file-alignment 32 |
9 | LDFLAGS = -shared -s -Map kernel.map --image-base 0x100000 --file-alignment 32 |
10 | 10 | ||
11 | KERNEL_SRC:= \ |
11 | KERNEL_SRC:= \ |
12 | kernel.asm \ |
12 | kernel.asm \ |
13 | data32.inc \ |
13 | data32.inc \ |
14 | core/memory.inc \ |
14 | core/memory.inc \ |
15 | core/heap.inc \ |
15 | core/heap.inc \ |
16 | core/malloc.inc \ |
16 | core/malloc.inc \ |
17 | core/taskman.inc \ |
17 | core/taskman.inc \ |
18 | core/v86.inc \ |
18 | core/v86.inc \ |
19 | core/sys32.inc \ |
19 | core/sys32.inc \ |
20 | core/dll.inc \ |
20 | core/dll.inc \ |
21 | core/exports.inc \ |
21 | core/exports.inc \ |
22 | fs/ntfs.inc \ |
22 | fs/ntfs.inc \ |
23 | gui/event.inc \ |
23 | gui/event.inc \ |
24 | video/cursors.inc |
24 | video/cursors.inc |
25 | 25 | ||
26 | 26 | ||
27 | PE_SRC:= \ |
27 | PE_SRC:= \ |
28 | init.c \ |
28 | init.c \ |
29 | mm.c \ |
29 | mm.c \ |
30 | slab.c \ |
30 | slab.c \ |
31 | heap.c \ |
31 | heap.c \ |
32 | spinlock.c \ |
32 | spinlock.c \ |
33 | boot/boot.asm \ |
33 | boot/boot.asm \ |
34 | boot/start.asm |
34 | boot/start.asm |
35 | 35 | ||
36 | #include |
36 | #include |
37 | #include |
37 | #include |
38 | #include |
38 | #include |
39 | #include |
39 | #include |
40 | #include |
40 | #include |
41 | #include |
41 | #include |
42 | 42 | ||
43 | H_SRC:= \ |
43 | H_SRC:= \ |
44 | include/types.h \ |
44 | include/types.h \ |
45 | include/atomic.h \ |
45 | include/atomic.h \ |
46 | include/spinlock.h \ |
46 | include/spinlock.h \ |
47 | include/link.h \ |
47 | include/link.h \ |
48 | include/core.h \ |
48 | include/core.h \ |
49 | include/mm.h \ |
49 | include/mm.h \ |
50 | include/slab.h |
50 | include/slab.h |
51 | 51 | ||
52 | PE_OBJS = $(patsubst %.s, bin/%.obj, $(patsubst %.asm, bin/%.obj,\ |
52 | PE_OBJS = $(patsubst %.s, bin/%.obj, $(patsubst %.asm, bin/%.obj,\ |
53 | $(patsubst %.c, bin/%.obj, $(PE_SRC)))) |
53 | $(patsubst %.c, bin/%.obj, $(PE_SRC)))) |
54 | 54 | ||
55 | 55 | ||
56 | all: kernel.gz |
56 | all: kernel.gz |
57 | 57 | ||
58 | kernel.gz :kernel.mnt |
58 | kernel.gz :kernel.mnt |
59 | 7z a -tgzip kernel.gz kernel.mnt |
59 | 7z a -tgzip kernel.gz kernel.mnt |
60 | 60 | ||
61 | kernel.mnt: kernel.obj $(PE_OBJS) Makefile ld.x |
61 | kernel.mnt: kernel.obj $(PE_OBJS) Makefile ld.x |
62 | ld $(LDFLAGS) -T ld.x -o $@ kernel.obj $(PE_OBJS) |
62 | ld $(LDFLAGS) -T ld.x -o $@ kernel.obj $(PE_OBJS) |
63 | 63 | ||
64 | bin/%.obj : core/%.c $(H_SRC) Makefile |
64 | bin/%.obj : core/%.c $(H_SRC) Makefile |
65 | $(CC) $(CFLAGS) -o $@ $< |
65 | $(CC) $(CFLAGS) -o $@ $< |
66 | 66 | ||
67 | bin/%.obj: %.asm |
67 | bin/%.obj: %.asm |
68 | $(FASM) $< $@ |
68 | $(FASM) $< $@ |
69 | 69 | ||
70 | kernel.obj: $(KERNEL_SRC) |
70 | kernel.obj: $(KERNEL_SRC) |
71 | $(FASM) kernel.asm |
71 | $(FASM) kernel.asm |
72 | 72 | ||
73 | all: $(SUBDIRS) |
73 | all: $(SUBDIRS) |
74 | 74 | ||
75 | .PHONY: all> |
75 | .PHONY: all> |
76 | > |
76 | > |