WKern
Loading...
Searching...
No Matches
files.py
Go to the documentation of this file.
26
27import glob
28
29SRCS = [
30 "src/fileio/irqflags.c",
31 "src/fileio/ops/printconts.c",
32 "src/fileio/ops/ls.c",
33 "src/fileio/ops/mkfile.c",
34 "src/fileio/ops/rmfile.c",
35 "src/fileio/ops/write.c",
36 "src/fileio/ATA.c",
37 "src/fileio/fat16_mnt.c",
38 "src/fileio/MBR.c",
39
40 "src/mem/alloc.c",
41 "src/mem/memutil.c",
42 "src/err/tf.c",
43 "src/err/panic.c",
44 "src/wex/testexec.c",
45 "src/wex/wexent.c",
46 "src/wex/wexexec.c",
47 "src/utils/img.c",
48
49 "src/io/keyin.c",
50 "src/io/printer.c",
51 "src/io/asm.c",
52 "src/utils/strings.c",
53 "src/utils/ksleep.c",
54 "src/utils/numtools.c",
55 "src/main.c",
56 "src/qemu/shutdown.c",
57
58 "src/idt/gdt.c",
59 "src/idt/idt.c",
60 "src/idt/pit.c",
61 "src/idt/handlers/irq0.c",
62 "src/idt/masker.c",
63 "src/pci/scconfig.c",
64 "src/net/virtio.c",
65 "src/idt/handlers/virtnetirq.c",
66
67 "src/KShell/shell.c",
68 "src/KShell/shellhelp.c",
69 "src/KShell/filecmds.c",
70 "src/KShell/regexcmd.c",
71 "src/slre/slre.c",
72]
73
74NASMSRCS = [
75 "src/boot.asm",
76 "src/idt/handlers/gdtf.asm",
77 "src/idt/handlers/irq0a.asm",
78 "src/idt/handlers/irq1a.asm",
79 "src/idt/handlers/virtirq.asm",
80 "src/idt/picr.asm"
81]
82
83# Most are grouped into 1 except for larger systems
84MODULES = {
85 "KShell": [ "src/KShell/shell.c",
86 "src/KShell/shellhelp.c",
87 "src/KShell/filecmds.c",
88 "src/KShell/regexcmd.c",
89 "src/slre/slre.c"],
90
91 "FileIO": [ "src/fileio/irqflags.c",
92 "src/fileio/ops/printconts.c",
93 "src/fileio/ops/ls.c",
94 "src/fileio/ops/mkfile.c",
95 "src/fileio/ops/rmfile.c",
96 "src/fileio/ops/write.c",
97 "src/fileio/ATA.c",
98 "src/fileio/fat16_mnt.c",
99 "src/fileio/MBR.c"],
100
101 "CPUSub": [ "src/idt/gdt.c",
102 "src/idt/idt.c",
103 "src/idt/pit.c",
104 "src/idt/handlers/irq0.c",
105 "src/idt/masker.c",
106 "src/pci/scconfig.c",
107 "src/net/virtio.c",
108 "src/idt/handlers/virtnetirq.c"],
109
110 "Core": [ "src/io/keyin.c",
111 "src/io/printer.c",
112 "src/io/asm.c",
113 "src/utils/strings.c",
114 "src/utils/ksleep.c",
115 "src/utils/numtools.c",
116 "src/main.c",
117 "src/qemu/shutdown.c"],
118
119 "Misc": [ "src/mem/alloc.c",
120 "src/mem/memutil.c",
121 "src/err/tf.c",
122 "src/err/panic.c",
123 "src/wex/testexec.c",
124 "src/wex/wexent.c",
125 "src/wex/wexexec.c",
126 "src/utils/img.c"]
127}
128
129OBJS = [f"objs/modules/{mod}.o" for mod in MODULES]
130
131for src in NASMSRCS:
132 OBJS.append("objs/" + src.replace(".asm", ".o"))
133
134OUT = "kernel.elf"
135OUTARG = "iso/boot/" + OUT
136ISO = "mykern.iso"
137
138GRUBCFG = "grub/grub.cfg"
139GRUBCFGTARG = "iso/boot/" + GRUBCFG
140
141HEADS = ["src/types/nums.h", "src/fileio/fileio.h",
142 "src/global.h", "src/err/kerror.h",
143 "src/wex/stdwex.h", "src/io/kio.h",
144 "src/utils/util.h", "src/idt/idtirq.h",
145 "src/qemu/shutdown.h", "src/mem/kmem.h",
146 "src/KShell/shell.h", "src/KShell/filecmds.h",
147 "src/pci/pci.h"
148 ]
149
150CLEANTARGS = [*OBJS, ISO, OUTARG, OUT, GRUBCFGTARG, "didconf", *glob.glob("objs/**/*.o", recursive=True) ]