7 NASM
=nasm
-f elf
-i
$(INCDIR
)/
9 CFLAGS
=-g
-Wall
-W
-O2
-nostdinc
-fno-builtin
-fno-stack-protector
-I
$(INCDIR
) -I..
/build
/main
10 CCASM
=arm-linux-gcc
-D__ASSEMBLY__
-g
-Os
-pipe
-mcpu
=arm926ej-s
-mabi
=apcs-gnu
-fno-strict-aliasing
-fno-common
-ffixed-r8
-msoft-float
-fno-builtin
-ffreestanding
-nostdinc
11 STDIO
=stdio
/doprintf.o stdio
/delay.o stdio
/kprintf.o stdio
/printf.o stdio
/sprintf.o stdio
/puts.o stdio
/fopen.o stdio
/fclose.o stdio
/fgets.o stdio
/open.o stdio
/close.o stdio
/write.o stdio
/read.o
12 STDLIB
=stdlib
/atoi.o stdlib
/abort.o stdlib
/strtol.o
13 STRING
=string
/memsetw.o string
/memcpy.o string
/strlen.o string
/strcpy.o string
/strcat.o string
/memset.o string
/strcmp.o
14 ARCHDEP
=x86
/dma.o x86
/setjmp.o x86
/longjmp.o
16 MEMMGR
=mm
/mem.o mm
/protmem.o
17 UNISTD
=unistd
/fcntl.o
25 CFLAGS
=-g
-Os
-fno-builtin
-ffreestanding
-nostdinc
-pipe
-mcpu
=arm926ej-s
-mabi
=apcs-gnu
-nostdlib
-nostartfiles
-nodefaultlibs
-ffixed-r8
-msoft-float
-I
$(INCDIR
) -I..
/build
/main
26 ARCHDEP
=arm
/divsi3.o arm
/div0.o arm
/modsi3.o
29 OBJS
=$(STDIO
) $(STDLIB
) $(STRING
) $(ARCHDEP
) $(CTYPE
) $(MEMMGR
) $(UNISTD
)
39 $(Q
)rm -f libc.a
$(OBJS
)
44 @printf
" ASM $(subst $(shell pwd)/,,$(@))\n";
48 @printf
" ASM $(subst $(shell pwd)/,,$(@))\n";
49 $(Q
)$(CCASM
) -c
-o
$@
$<
52 @printf
" CC $(subst $(shell pwd)/,,$(@))\n";
53 $(Q
)$(CC
) $(CFLAGS
) -c
-o
$@
$<
56 stdio
/doprintf.o
: stdio
/doprintf.c
$(MAKEDEP
)
57 stdio
/kprintf.o
: stdio
/kprintf.c
$(MAKEDEP
)
58 stdio
/printf.o
: stdio
/printf.c
$(MAKEDEP
)
59 stdio
/sprintf.o
: stdio
/sprintf.c
$(MAKEDEP
)
60 stdio
/delay.o
: stdio
/delay.c
$(MAKEDEP
)
61 stdio
/fopen.o
: stdio
/fopen.c
$(MAKEDEP
)
62 stdio
/fclose.o
: stdio
/fclose.c
$(MAKEDEP
)
63 stdio
/fgets.o
: stdio
/fgets.c
$(MAKEDEP
)
64 stdio
/open.o
: stdio
/open.c
$(MAKEDEP
)
65 stdio
/close.o
: stdio
/close.c
$(MAKEDEP
)
66 stdio
/write.o
: stdio
/write.c
$(MAKEDEP
)
67 stdio
/read.o
: stdio
/read.c
$(MAKEDEP
)
68 stdlib
/atoi.o
: stdlib
/atoi.c
$(MAKEDEP
)
69 stdlib
/abort.o
: stdlib
/abort.c
$(MAKEDEP
)
70 stdlib
/strtol.o
: stdlib
/strtol.c
$(MAKEDEP
)
71 string
/memsetw.o
: string
/memsetw.c
$(MAKEDEP
)
72 string
/memcpy.o
: string
/memcpy.c
$(MAKEDEP
)
73 string
/strlen.o
: string
/strlen.c
$(MAKEDEP
)
74 ctype
/ctype.o
: ctype
/ctype.c
$(MAKEDEP
)
75 string
/strcpy.o
: string
/strcpy.c
$(MAKEDEP
)
76 string
/strcat.o
: string
/strcat.c
$(MAKEDEP
)
77 string
/strcmp.o
: string
/strcmp.c
$(MAKEDEP
)
78 string
/memset.o
: string
/memset.c
$(MAKEDEP
)
79 mm
/mem.o
: mm
/mem.c
$(MAKEDEP
)
80 mm
/protmem.o
: mm
/protmem.c
$(MAKEDEP
)
81 unistd
/fcntl.o
: unistd
/fcntl.c
$(MAKEDEP
)
85 x86
/dma.o
: x86
/dma.c
$(MAKEDEP
)
86 x86
/setjmp.o
: x86
/setjmp.asm
$(MAKEDEP
)
87 x86
/longjmp.o
: x86
/longjmp.c
$(MAKEDEP
)
91 arm
/divsi3.o
: arm
/divsi3.S
$(MAKEDEP
)
92 arm
/div0.o
: arm
/div0.c
$(MAKEDEP
)
93 arm
/modsi3.o
: arm
/modsi3.S
$(MAKEDEP
)
97 libc.a
: $(OBJS
) $(MAKEDEP
)
98 @printf
" AR $(subst $(shell pwd)/,,$(@))\n";
99 $(Q
)ar rcs libc.a
$(OBJS
)