7 NASM
=nasm
-f elf
-i
$(INCDIR
)/
8 CC
=gcc
-m32
-g
-Wall
-W
-O2
-nostdinc
-fno-builtin
-I
$(INCDIR
)
10 STDIO
=stdio
/doprintf.o stdio
/delay.o stdio
/printf.o stdio
/sprintf.o stdio
/puts.o stdio
/putch.o stdio
/cls.o stdio
/getch.o stdio
/getkey.o stdio
/gotoxy.o stdio
/setcolor.o stdio
/beep.o stdio
/open.o stdio
/close.o stdio
/read.o stdio
/write.o stdio
/doscanf.o stdio
/scanf.o stdio
/getchar.o
11 STRING
=string
/memset.o string
/memsetw.o string
/memcpy.o string
/memcmp.o string
/memchr.o string
/strlen.o string
/strchr.o string
/strcpy.o string
/strncpy.o string
/strcat.o string
/strncat.o string
/strcmp.o string
/strstr.o string
/strspn.o string
/strdup.o string
/strpbrk.o
12 X86
=x86
/inportb.o x86
/outportb.o x86
/disable.o x86
/enable.o x86
/dma.o
13 STDLIB
=stdlib
/memory.o stdlib
/exit.o stdlib
/schedule.o stdlib
/strtol.o stdlib
/atoi.o stdlib
/itoa.o stdlib
/abort.o stdlib
/abs.o stdlib
/system.o stdlib
/rand.o
14 UNISTD
=unistd
/sleep.o unistd
/fcntl.o unistd
/dup.o unistd
/lseek.o unistd
/unlink.o unistd
/pipe.o
15 SOCKET
=socket
/connect.o socket
/socket.o socket
/send.o socket
/gethostbyname.o socket
/htons.o socket
/recv.o socket
/bind.o socket
/listen.o socket
/accept.o socket
/sendto.o socket
/recvfrom.o socket
/inet_ntop.o
16 SIGNAL
=signal
/signal.o
18 TIME
=time
/time.o time
/localtime.o
21 OBJS
=$(STDIO
) $(STRING
) $(X86
) $(STDLIB
) $(UNISTD
) $(SOCKET
) $(SIGNAL
) $(VFS
) $(TIME
) $(CTYPE
)
31 $(Q
)rm -f libc.a
$(OBJS
)
36 @printf
" ASM $(subst $(shell pwd)/,,$(@))\n";
40 @printf
" CC $(subst $(shell pwd)/,,$(@))\n";
44 stdio
/doprintf.o
: stdio
/doprintf.c
$(MAKEDEP
)
45 stdio
/printf.o
: stdio
/printf.c
$(MAKEDEP
)
46 stdio
/sprintf.o
: stdio
/sprintf.c
$(MAKEDEP
)
47 stdio
/puts.o
: stdio
/puts.c
$(MAKEDEP
)
48 stdio
/putch.o
: stdio
/putch.c
$(MAKEDEP
)
49 stdio
/delay.o
: stdio
/delay.c
$(MAKEDEP
)
50 stdio
/cls.o
: stdio
/cls.c
$(MAKEDEP
)
51 stdio
/getch.o
: stdio
/getch.c
$(MAKEDEP
)
52 stdio
/getkey.o
: stdio
/getkey.c
$(MAKEDEP
)
53 stdio
/gotoxy.o
: stdio
/gotoxy.c
$(MAKEDEP
)
54 stdio
/setcolor.o
: stdio
/setcolor.c
$(MAKEDEP
)
55 stdio
/beep.o
: stdio
/beep.c
$(MAKEDEP
)
56 stdio
/open.o
: stdio
/open.c
$(MAKEDEP
)
57 stdio
/close.o
: stdio
/close.c
$(MAKEDEP
)
58 stdio
/read.o
: stdio
/read.c
$(MAKEDEP
)
59 stdio
/write.o
: stdio
/write.c
$(MAKEDEP
)
60 stdio
/doscanf.o
: stdio
/doscanf.c
$(MAKEDEP
)
61 stdio
/scanf.o
: stdio
/scanf.c
$(MAKEDEP
)
62 stdio
/getchar.o
: stdio
/getchar.c
$(MAKEDEP
)
63 stdlib
/memory.o
: stdlib
/memory.c
$(MAKEDEP
)
64 stdlib
/exit.o
: stdlib
/exit.c
$(MAKEDEP
)
65 stdlib
/schedule.o
: stdlib
/schedule.c
$(MAKEDEP
)
66 stdlib
/strtol.o
: stdlib
/strtol.c
$(MAKEDEP
)
67 stdlib
/atoi.o
: stdlib
/atoi.c
$(MAKEDEP
)
68 stdlib
/itoa.o
: stdlib
/itoa.c
$(MAKEDEP
)
69 stdlib
/abort.o
: stdlib
/abort.c
$(MAKEDEP
)
70 stdlib
/abs.o
: stdlib
/abs.c
$(MAKEDEP
)
71 stdlib
/rand.o
: stdlib
/rand.c
$(MAKEDEP
)
72 unistd
/sleep.o
: unistd
/sleep.c
$(MAKEDEP
)
73 unistd
/fcntl.o
: unistd
/fcntl.c
$(MAKEDEP
)
74 unistd
/dup.o
: unistd
/dup.c
$(MAKEDEP
)
75 unistd
/lseek.o
: unistd
/lseek.c
$(MAKEDEP
)
76 unistd
/unlink.o
: unistd
/unlink.c
$(MAKEDEP
)
77 string
/memset.o
: string
/memset.c
$(MAKEDEP
)
78 string
/memsetw.o
: string
/memsetw.c
$(MAKEDEP
)
79 string
/memcpy.o
: string
/memcpy.c
$(MAKEDEP
)
80 string
/memcmp.o
: string
/memcmp.c
$(MAKEDEP
)
81 string
/memchr.o
: string
/memchr.c
$(MAKEDEP
)
82 string
/strlen.o
: string
/strlen.c
$(MAKEDEP
)
83 string
/strchr.o
: string
/strchr.c
$(MAKEDEP
)
84 string
/strcpy.o
: string
/strcpy.c
$(MAKEDEP
)
85 string
/strncpy.o
: string
/strncpy.c
$(MAKEDEP
)
86 string
/strcat.o
: string
/strcat.c
$(MAKEDEP
)
87 string
/strncat.o
: string
/strncat.c
$(MAKEDEP
)
88 string
/strcmp.o
: string
/strcmp.c
$(MAKEDEP
)
89 string
/strstr.o
: string
/strstr.c
$(MAKEDEP
)
90 string
/strspn.o
: string
/strspn.c
$(MAKEDEP
)
91 string
/strpbrk.o
: string
/strpbrk.c
$(MAKEDEP
)
92 string
/strdup.o
: string
/strdup.c
$(MAKEDEP
)
93 x86
/dma.o
: x86
/dma.c
$(MAKEDEP
)
94 x86
/inportb.o
: x86
/inportb.c
$(MAKEDEP
)
95 x86
/outportb.o
: x86
/outportb.c
$(MAKEDEP
)
96 x86
/disable.o
: x86
/disable.c
$(MAKEDEP
)
97 x86
/enable.o
: x86
/enable.c
$(MAKEDEP
)
98 socket
/connect.o
: socket
/connect.c
$(MAKEDEP
)
99 socket
/socket.o
: socket
/socket.c
$(MAKEDEP
)
100 socket
/send.o
: socket
/send.c
$(MAKEDEP
)
101 socket
/gethostbyname.o
: socket
/gethostbyname.c
$(MAKEDEP
)
102 socket
/htons.o
: socket
/htons.c
$(MAKEDEP
)
103 socket
/recv.o
: socket
/recv.c
$(MAKEDEP
)
104 socket
/bind.o
: socket
/bind.c
$(MAKEDEP
)
105 socket
/listen.o
: socket
/listen.c
$(MAKEDEP
)
106 socket
/accept.o
: socket
/accept.c
$(MAKEDEP
)
107 socket
/sendto.o
: socket
/sendto.c
$(MAKEDEP
)
108 socket
/recvfrom.o
: socket
/recvfrom.c
$(MAKEDEP
)
109 socket
/inet_ntop.o
: socket
/inet_ntop.c
$(MAKEDEP
)
110 signal
/signal.o
: signal
/signal.c
$(MAKEDEP
)
111 vfs
/mount.o
: vfs
/mount.c
$(MAKEDEP
)
112 time
/time.o
: time
/time.c
$(MAKEDEP
)
113 time
/localtime.o
: time
/localtime.c
$(MAKEDEP
)
114 ctype
/ctype.o
: ctype
/ctype.c
$(MAKEDEP
)
117 libc.a
: $(OBJS
) $(MAKEDEP
)
118 @printf
" AR $(subst $(shell pwd)/,,$(@))\n";
119 $(Q
)ar rcs libc.a
$(OBJS
)