CC := gcc CFLAGS := CFLAGS_EXTRA := -std=c99 -Wpedantic -Wall -Wextra LDFLAGS := PREFIX := UTILS := true false basename BIN := futiles OBJS := $(patsubst %.c, %.o, $(wildcard src/*.c)) all: $(BIN) $(BIN): $(OBJS) $(CC) -o $@ $(CFLAGS) $(CFLAGS_EXTRA) $(LDFLAGS) $^ src/%.o: src/%.c $(CC) -c -o $@ $(CFLAGS) $(CFLAGS_EXTRA) $< clean: rm -f $(BIN) $(OBJS) install: $(BIN) install -m 755 $(BIN) $(PREFIX)/bin/ for util in $(UTILS) ; do \ ln -sf futiles /usr/bin/$$util; \ done .PHONY: clean install