1 |
CC = gcc |
CC = gcc |
2 |
CFLAGS = -std=c99 -g -O2 -I. -Wall -Wextra -Werror -pedantic -DHAVE_CONFIG_H -DNDEBUG |
CFLAGS = -std=c99 -g -O2 -I. -I../include -Wall -Wextra -Werror -pedantic -DHAVE_CONFIG_H -DNDEBUG -DHAVE_PLIBC |
3 |
LDLIBS = -lm |
LDLIBS = -lm |
4 |
|
RM = rm -f |
5 |
|
AS = as |
6 |
|
ASFLAGS = -g |
7 |
|
|
8 |
all: uar |
all: uar bin-exec |
9 |
uar: uar.o main.o xmalloc.o |
|
10 |
|
uar: libuar.a main.o |
11 |
|
@echo " CCLD $@" |
12 |
|
@$(CC) $(CFLAGS) -o $@ main.o -L. -luar $(LDLIBS) |
13 |
|
|
14 |
|
bin-exec: libuar.a selfext.o selfext_entry.o |
15 |
|
@echo " CCLD $@" |
16 |
|
@$(CC) $(CFLAGS) -I../plibc/lib -ffreestanding -nostdlib -e _start -o $@ selfext.o selfext_entry.o ../plibc/lib/libc.a ../plibc/x86_64/libx86_64.a -L. -luar $(LDLIBS) |
17 |
|
|
18 |
|
%.o: %.s |
19 |
|
@echo " AS $@" |
20 |
|
@$(AS) $(ASFLAGS) -c -o $@ $< |
21 |
|
|
22 |
|
%.o: %.c |
23 |
|
@echo " CC $@" |
24 |
|
@$(CC) $(CFLAGS) -c -o $@ $< |
25 |
|
|
26 |
|
libuar.a: uar.o xmalloc.o |
27 |
|
@echo " AR $@" |
28 |
|
@ar rcs $@ $^ |
29 |
|
|
30 |
clean: |
clean: |
|
rm -f uar *.o |
|
31 |
|
@echo " RM bin-exec" |
32 |
|
@echo " RM uar" |
33 |
|
@echo " RM *.o" |
34 |
|
@$(RM) uar *.o bin-exec *.a |