CC ?= gcc CFLAGS ?= -O2 -Wall -Wextra -Wpedantic -std=c11 CPPFLAGS ?= -D_POSIX_C_SOURCE=200809L -Iinclude THREAD_FLAGS ?= -pthread LDFLAGS ?= OBJ = src/mightywatt.o src/mightywatt_app.o src/mightywatt_controller.o src/mightywatt_log.o src/mightywatt_sequence.o src/mwcli.o BIN = mwcli EXAMPLE_BIN = mw_controller_example all: $(BIN) $(EXAMPLE_BIN) $(BIN): $(OBJ) $(CC) $(CFLAGS) $(THREAD_FLAGS) $(OBJ) -o $@ $(LDFLAGS) $(EXAMPLE_BIN): src/mightywatt.o src/mightywatt_app.o src/mightywatt_controller.o examples/mw_controller_example.o $(CC) $(CFLAGS) $(THREAD_FLAGS) $^ -o $@ $(LDFLAGS) src/%.o: src/%.c include/*.h $(CC) $(CPPFLAGS) $(CFLAGS) $(THREAD_FLAGS) -c $< -o $@ examples/%.o: examples/%.c include/*.h $(CC) $(CPPFLAGS) $(CFLAGS) $(THREAD_FLAGS) -c $< -o $@ clean: rm -f $(OBJ) examples/*.o $(BIN) $(EXAMPLE_BIN) .PHONY: all clean