CC:=clang BUILD_DIR:=build CFLAGS= \ -pthread \ -Wall \ -MMD \ -g LDFLAGS= \ -lpthread INCLUDES= \ -Isrc \ -Ilibraries SRCS= \ libraries/cJSON/cJSON.c \ src/json_rpc.c \ src/main.c OBJS=$(addprefix $(BUILD_DIR)/,$(addsuffix .o,$(basename $(SRCS)))) DEPS=$(addprefix $(BUILD_DIR)/,$(addsuffix .d,$(basename $(SRCS)))) BIN=$(BUILD_DIR)/bin/pawn_lsp .PHONY: pawn_lsp clean pawn_lsp: $(BIN) $(BIN): $(OBJS) mkdir -p $(dir $@) $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES) -o $(BIN) $(OBJS) $(BUILD_DIR)/%.o: %.c mkdir -p $(dir $@) $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ clean: rm -rf $(BUILD_DIR) -include $(DEPS)