CC := gcc CFLAGS := -Wall -g -Ilibs/log.c/src LDFLAGS := -lwiringPi -lasound -lfftw3 -lpthread -lm -L.libs SRC := src OBJ := obj BIN := bin/pixled SOURCES := $(shell find $(SRC) -type f -name "*.c") OBJECTS := $(patsubst $(SRC)/%.c, $(OBJ)/%.o, $(SOURCES)) .PHONY: all clean install all: $(BIN) libs/log.c/obj/log.o: libs/log.c/src/log.c if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi $(CC) -c $< -o $@ -DLOG_USE_COLOR .libs/log.la: libs/log.c/obj/log.o if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi ar r $@ $^ ranlib $@ $(OBJ)/%.o: $(SRC)/%.c if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi $(CC) -c $< -o $@ $(CFLAGS) $(BIN): $(OBJECTS) .libs/log.la if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi $(CC) -o $@ $^ $(LDFLAGS) install: $(shell install --backup bin/pixled /usr/local/bin/) clean: rm -rf $(OBJ) .libs libs/*/obj