CC ?= gcc
CFLAGS += -pedantic -Wall -Wextra -O2

OUT := hello
BINDIR ?= /usr/bin

SRC += main.c
OBJ := $(SRC:.c=.o)

.PHONY: all
all: $(OUT)

$(OUT): $(OBJ)
	$(CC) -o $@ $<

.PHONY: clean
clean:
	$(RM) $(OBJ)

.PHONY: fclean
fclean: clean
	$(RM) -r $(OUT)

.PHONY: re
.NOTPARALLEL: re
re: fclean all

.PHONY: install
install:
	install -D hello ${BINDIR}/hello --mode 0755