blob: b8a32870673f82aff2eaf25fd0c733123acea43c (
plain) (
tree)
|
|
.PRECIOUS: %.o
AS = nasm
ASFLAGS = -felf -g
CC = i586-elf-gcc
CFLAGS += -ffreestanding -std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-function -I . -I ./include -g -O2 -Os
# CXX = i586-elf-g++
# CXFLAGS = -ffreestanding -O3 -Wall -Wextra -I . -I ./include -fno-exceptions -fno-rtti
LD = i586-elf-gcc
LDFLAGS += -ffreestanding -nostdlib -lgcc -O2 -Os
all: $(OUT)
$(OUT): $(OBJ) $(LIB)
OUT=$(OUT); $(LD) $(LDFLAGS) `if [ $${OUT##*.} = lib ]; then echo -r; fi` -o $@ $^
%.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
|