27 lines
517 B
Makefile
27 lines
517 B
Makefile
HASH := $(shell git rev-parse --short HEAD)
|
|
SRCS := $(wildcard src/*.c)
|
|
OBJS := $(SRCS:src/%.c=build/%.o)
|
|
DEPS := $(OBJS:%.o=%.d)
|
|
|
|
WARNING_FLAGS := -Wall -Wextra
|
|
INCLUDE_FLAGS := -I include
|
|
|
|
CC := clang
|
|
CFLAGS := $(WARNING_FLAGS) $(INCLUDE_FLAGS) -DKILO_COMMIT_HASH=$(HASH) -MMD -MP -std=c99 -g
|
|
|
|
kilo: $(OBJS)
|
|
$(CC) $(CFLAGS) $^ -o $@
|
|
|
|
$(OBJS): build/%.o: src/%.c
|
|
@mkdir -p build
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
.PHONY: install clean
|
|
install: kilo
|
|
cp kilo ~/bin
|
|
|
|
clean:
|
|
rm -rf build
|
|
rm -f ./kilo
|
|
|
|
-include $(DEPS)
|