CC ?= cc PKG_CONFIG ?= pkg-config PREFIX ?= /usr/local BINDIR ?= $(PREFIX)/bin DESTDIR ?= TARGET := bin/yapssg SOURCES := src/Main.c $(wildcard src/*/*.c) OBJECTS := $(patsubst src/%.c,obj/%.o,$(SOURCES)) CPPFLAGS += -Isrc $(shell $(PKG_CONFIG) --cflags libxml-2.0 luajit) CFLAGS ?= -O2 -Wall -Wextra -Werror -std=c99 LDLIBS += $(shell $(PKG_CONFIG) --libs libxml-2.0 luajit) .PHONY: all clean install all: $(TARGET) $(TARGET): $(OBJECTS) | bin $(CC) $(LDFLAGS) $(OBJECTS) $(LDLIBS) -o $@ obj/%.o: src/%.c mkdir -p $(@D) $(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -c $< -o $@ bin: mkdir -p $@ clean: rm -rf obj bin install: $(TARGET) install -Dm755 $(TARGET) $(DESTDIR)$(BINDIR)/yapssg -include $(OBJECTS:.o=.d)