6 LDSCRIPT
=arch
/main
/link.
ld
10 CFLAGS
=-g
-O2
-nostdinc
-fno-builtin
-fno-stack-protector
-I
$(INCDIR
) -Ibuild
/main
/
12 LDFLAGS
=-g
-T
$(LDSCRIPT
) -nostdlib
24 CFLAGS
=-g
-Os
-fno-builtin
-ffreestanding
-nostdinc
-pipe
-mcpu
=arm926ej-s
-mabi
=apcs-gnu
-nostdlib
-nostartfiles
-nodefaultlibs
-ffixed-r8
-msoft-float
-I
$(INCDIR
) -Ibuild
/main
/
28 OBJS
=arch
/main
/boot
/start.o core
/main.o core
/init.o core
/console.o core
/commands.o core
/mm
/kmem.o core
/mm
/kzmem.o core
/mm
/dlmem.o core
/mm
/swmem.o core
/mm
/pmem.o core
/env.o core
/elf.o core
/dev.o core
/vfs.o core
/fs.o core
/user.o core
/sched.o core
/proc.o core
/tty.o core
/partition.o core
/module.o core
/spinlock.o core
/mutex.o core
/smp.o core
/ioctl.o core
/fd.o core
/net
/socket.o core
/net
/ips.o core
/net
/eth.o core
/net
/if.o core
/net
/arp.o core
/net
/packet.o core
/net
/tcp.o core
/net
/tcp6.o core
/net
/ip.o core
/net
/ipv6.o core
/net
/icmp.o core
/net
/icmp6.o core
/net
/ndp.o core
/net
/checksum.o core
/net
/udp.o core
/net
/udp6.o core
/net
/dns.o core
/net
/tun6.o core
/net
/unix.o drivers
/char
/video
/video.o drivers
/char
/video
/vesa.o drivers
/char
/video
/gtext.o drivers
/char
/video
/bga.o drivers
/char
/kbd
/kbd.o drivers
/char
/rs232
/rs232.o drivers
/char
/sound
/speaker.o drivers
/char
/sound
/sb16.o drivers
/char
/sound
/es1370.o drivers
/char
/sound
/ac97.o drivers
/block
/floppy.o drivers
/block
/drive.o drivers
/fs
/fat.o drivers
/fs
/fat16.o drivers
/fs
/zexfs.o drivers
/fs
/ext2.o drivers
/fs
/isofs.o drivers
/fs
/znfs.o drivers
/bus
/pci
/pci.o drivers
/bus
/usb
/usb.o drivers
/net
/pcnet32
/pcnet32.o drivers
/net
/rtl8029
/rtl8029.o drivers
/net
/rtl8139
/rtl8139.o drivers
/net
/rtl8169
/rtl8169.o drivers
/char
/mouse
/com.o drivers
/char
/mouse
/ps2.o utils
/fs
/ls.o utils
/fs
/cat.o utils
/fs
/cp.o utils
/fs
/rm.o utils
/fs
/cd.o utils
/fs
/mount.o utils
/fs
/mkdir.o utils
/fs
/fdisk.o utils
/fs
/touch.o utils
/net
/tftp.o utils
/adm
/adm.o
30 ifneq ($(strip $(wildcard .config
)),)
39 cp
-f kernel.bin mnt
/kernel.bin
45 $(Q
)make
clean -C arch
/main
47 $(Q
)rm -f
*.o kernel.bin .directory .kconfig.d .tmpconfig.h .config .config.old arch
/main
$(OBJS
)
48 $(Q
)rm -rf build
/main
/utils build
/main
/config.h build
/main
/build.h build
/main build
/utils
56 @printf
" ASM $(subst $(shell pwd)/,,$(@))\n";
60 @printf
" CC $(subst $(shell pwd)/,,$(@))\n";
61 $(Q
)$(CC
) $(CFLAGS
) -c
-o
$@
$<
65 arch
/main
/boot
/boot
/start.o
: arch
/main
/boot
/boot
/start.asm
$(MAKEDEP
)
67 core
/main.o
: core
/main.c
$(MAKEDEP
)
68 core
/init.o
: core
/init.c
$(MAKEDEP
)
69 core
/sched.o
: core
/sched.c
$(MAKEDEP
)
70 core
/console.o
: core
/console.c
$(MAKEDEP
)
71 core
/commands.o
: core
/commands.c
$(MAKEDEP
)
72 core
/mm
/kmem.o
: core
/mm
/kmem.c
$(MAKEDEP
)
73 core
/mm
/kzmem.o
: core
/mm
/kzmem.c
$(MAKEDEP
)
74 core
/mm
/dlmem.o
: core
/mm
/dlmem.c
$(MAKEDEP
)
75 core
/mm
/swmem.o
: core
/mm
/swmem.c
$(MAKEDEP
)
76 core
/mm
/pmem.o
: core
/mm
/pmem.c
$(MAKEDEP
)
77 core
/env.o
: core
/env.c
$(MAKEDEP
)
78 core
/elf.o
: core
/elf.c
$(MAKEDEP
)
79 core
/dev.o
: core
/dev.c
$(MAKEDEP
)
80 core
/vfs.o
: core
/vfs.c
$(MAKEDEP
)
81 core
/fs.o
: core
/fs.c
$(MAKEDEP
)
82 core
/user.o
: core
/user.c
$(MAKEDEP
)
83 core
/tty.o
: core
/tty.c
$(MAKEDEP
)
84 core
/proc.o
: core
/proc.c
$(MAKEDEP
)
85 core
/partition.o
: core
/partition.c
$(MAKEDEP
)
86 core
/module.o
: core
/module.c
$(MAKEDEP
)
87 core
/spinlock.o
: core
/spinlock.c
$(MAKEDEP
)
88 core
/mutex.o
: core
/mutex.c
$(MAKEDEP
)
89 core
/smp.o
: core
/smp.c
$(MAKEDEP
)
90 core
/ioctl.o
: core
/ioctl.c
$(MAKEDEP
)
91 core
/fd.o
: core
/fd.c
$(MAKEDEP
)
92 core
/net
/socket.o
: core
/net
/socket.c
$(MAKEDEP
)
93 core
/net
/ips.o
: core
/net
/ips.c
$(MAKEDEP
)
94 core
/net
/eth.o
: core
/net
/eth.c
$(MAKEDEP
)
95 core
/net
/if.o
: core
/net
/if.c
$(MAKEDEP
)
96 core
/net
/arp.o
: core
/net
/arp.c
$(MAKEDEP
)
97 core
/net
/packet.o
: core
/net
/packet.c
$(MAKEDEP
)
98 core
/net
/tcp.o
: core
/net
/tcp.c
$(MAKEDEP
)
99 core
/net
/tcp6.o
: core
/net
/tcp6.c
$(MAKEDEP
)
100 core
/net
/ip.o
: core
/net
/ip.c
$(MAKEDEP
)
101 core
/net
/ipv6.o
: core
/net
/ipv6.c
$(MAKEDEP
)
102 core
/net
/icmp.o
: core
/net
/icmp.c
$(MAKEDEP
)
103 core
/net
/icmp6.o
: core
/net
/icmp6.c
$(MAKEDEP
)
104 core
/net
/ndp.o
: core
/net
/ndp.c
$(MAKEDEP
)
105 core
/net
/checksum.o
: core
/net
/checksum.c
$(MAKEDEP
)
106 core
/net
/udp.o
: core
/net
/udp.c
$(MAKEDEP
)
107 core
/net
/udp6.o
: core
/net
/udp6.c
$(MAKEDEP
)
108 core
/net
/dns.o
: core
/net
/dns.c
$(MAKEDEP
)
109 core
/net
/tun6.o
: core
/net
/tun6.c
$(MAKEDEP
)
110 core
/net
/unix.o
: core
/net
/unix.c
$(MAKEDEP
)
112 drivers
/char
/video.o
: drivers
/char
/video
/video.c
$(MAKEDEP
)
113 drivers
/char
/vesa.o
: drivers
/char
/video
/vesa.c
$(MAKEDEP
)
114 drivers
/char
/gtext.o
: drivers
/char
/video
/gtext.c
$(MAKEDEP
)
115 drivers
/char
/bga.o
: drivers
/char
/video
/bga.c
$(MAKEDEP
)
116 drivers
/char
/kbd.o
: drivers
/char
/kbd
/kbd.c
$(MAKEDEP
)
117 drivers
/char
/rs232
/rs232.o
: drivers
/char
/rs232
/rs232.c
$(MAKEDEP
)
118 drivers
/char
/sound
/speaker.o
: drivers
/char
/sound
/speaker.c
$(MAKEDEP
)
119 drivers
/char
/sound
/sb16.o
: drivers
/char
/sound
/sb16.c
$(MAKEDEP
)
120 drivers
/char
/sound
/es1370.o
: drivers
/char
/sound
/es1370.c
$(MAKEDEP
)
121 drivers
/char
/sound
/ac97.o
: drivers
/char
/sound
/ac97.c
$(MAKEDEP
)
122 drivers
/block
/floppy.o
: drivers
/block
/floppy.c
$(MAKEDEP
)
123 drivers
/block
/drive.o
: drivers
/block
/drive.c
$(MAKEDEP
)
124 drivers
/fs
/fat.o
: drivers
/fs
/fat.c
$(MAKEDEP
)
125 drivers
/fs
/fat16.o
: drivers
/fs
/fat16.c
$(MAKEDEP
)
126 drivers
/fs
/ext2.o
: drivers
/fs
/ext2.c
$(MAKEDEP
)
127 drivers
/fs
/zexfs.o
: drivers
/fs
/zexfs.c
$(MAKEDEP
)
128 drivers
/fs
/isofs.o
: drivers
/fs
/isofs.c
$(MAKEDEP
)
129 drivers
/fs
/znfs.o
: drivers
/fs
/znfs.c
$(MAKEDEP
)
130 drivers
/bus
/pci
/pci.o
: drivers
/bus
/pci
/pci.c
$(MAKEDEP
)
131 drivers
/bus
/usb
/usb.o
: drivers
/bus
/usb
/usb.c
$(MAKEDEP
)
132 drivers
/net
/pcnet32
/pcnet32.o
: drivers
/net
/pcnet32
/pcnet32.c
$(MAKEDEP
)
133 drivers
/net
/rtl8029
/rtl8029.o
: drivers
/net
/rtl8029
/rtl8029.c
$(MAKEDEP
)
134 drivers
/net
/rtl8139
/rtl8139.o
: drivers
/net
/rtl8139
/rtl8139.c
$(MAKEDEP
)
135 drivers
/net
/rtl8169
/rtl8169.o
: drivers
/net
/rtl8169
/rtl8169.c
$(MAKEDEP
)
136 drivers
/char
/mouse
/com.o
: drivers
/char
/mouse
/com.c
$(MAKEDEP
)
137 drivers
/char
/mouse
/ps2.o
: drivers
/char
/mouse
/ps2.c
$(MAKEDEP
)
139 utils
/fs
/ls.o
: utils
/fs
/ls.c
$(MAKEDEP
)
140 utils
/fs
/cat.o
: utils
/fs
/cat.c
$(MAKEDEP
)
141 utils
/fs
/cp.o
: utils
/fs
/cp.c
$(MAKEDEP
)
142 utils
/fs
/rm.o
: utils
/fs
/rm.c
$(MAKEDEP
)
143 utils
/fs
/cd.o
: utils
/fs
/cd.c
$(MAKEDEP
)
144 utils
/fs
/mount.o
: utils
/fs
/mount.c
$(MAKEDEP
)
145 utils
/fs
/mkdir.o
: utils
/fs
/mkdir.c
$(MAKEDEP
)
146 utils
/fs
/fdisk.o
: utils
/fs
/fdisk.c
$(MAKEDEP
)
147 utils
/fs
/touch.o
: utils
/fs
/touch.c
$(MAKEDEP
)
148 utils
/net
/tftp.o
: utils
/net
/tftp.c
$(MAKEDEP
)
149 utils
/adm
/adm.o
: utils
/adm
/adm.c
$(MAKEDEP
)
152 kernel.bin
: $(OBJS
) $(LARCH
) $(LDSCRIPT
) $(LIBC
) $(MAKEDEP
)
153 @printf
" LD $(subst $(shell pwd)/,,$(@))\n";
154 $(Q
)$(LD
) $(LDFLAGS
) -o
$@
$(OBJS
) $(LARCH
) $(LIBC
)