blob: 6c02313438f60152780f9a3ee36598d96eabc722 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
.PRECIOUS: %.o
AS = nasm
ASFLAGS = -felf -g
CC = i586-elf-gcc
CFLAGS += -ffreestanding -O2 -std=gnu99 -Wall -Wextra -Werror -I . -I ./include -g -Wno-unused-parameter
# CXX = i586-elf-g++
# CXFLAGS = -ffreestanding -O3 -Wall -Wextra -I . -I ./include -fno-exceptions -fno-rtti
LD = i586-elf-gcc
LDFLAGS += -ffreestanding -O2 -nostdlib -lgcc
all: $(OUT)
%.bin: $(OBJ)
$(LD) $(LDFLAGS) -o $@ $^ $(LIB)
%.lib: $(OBJ)
$(LD) $(LDFLAGS) -r -o $@ $^ $(LIB)
%.o: %.s
$(AS) $(ASFLAGS) -o $@ $<
%.o: %.c
$(CC) -c $< -o $@ $(CFLAGS)
# %.o: %.cpp
# $(CXX) -c $< -o $@ $(CXFLAGS)
clean:
rm *.o */*.o || true
mrproper: clean
rm $(OUT) || true
rebuild: mrproper all
|