42_KFS/libbozo/Makefile

39 lines
632 B
Makefile

SSRC := $(shell find src -name '*.s')
CSRC := $(shell find src -name '*.c')
OBJ := $(patsubst src/%.c,obj/%.o,$(CSRC))\
$(patsubst src/%.s,obj/%.o,$(SSRC))
CC := i386-elf-gcc
CFLAGS := -std=gnu99 -ffreestanding -O2 -Wall -Wextra -iquoteheaders -c
AS := i386-elf-as
ASFLAGS :=
AR := ar
ARFLAGS :=
NAME = libbozo.a
obj/%.o: src/%.s
mkdir -p $(dir $@)
$(AS) $(ASFLAGS) $< -o $@
obj/%.o: src/%.c
mkdir -p $(dir $@)
$(CC) $(CFLAGS) $< -o $@
all : $(NAME)
clean :
rm -rf obj
fclean : clean
rm -rf build
$(NAME) : $(OBJ)
mkdir -p build
$(AR) -rc build/$(NAME) $(OBJ)
re: fclean all
.PHONY: clean fclean all re