# # Makefile # Ilja KartaĊĦov, 2019-07-13 14:51 # .POSIX: CC ?= gcc PKG_CONFIG ?= pkg-config PREFIX ?= /usr/local DESTDIR ?= BIN_DIR ?= bin TARGET_NAME = aisl OUT_DIR ?= ../build SRC_DIR ?= . SDK_DIR ?= ../sdk CSTUFF_DIR ?= ../cStuff # Version VERSION_MAJOR = 0 VERSION_MINOR = 1 VERSION_TWEAK = 0 VERSION_LABEL = 0 # Source files SOURCE_FILES := \ $(SRC_DIR)/main.c \ $(SRC_DIR)/option.c \ $(SRC_DIR)/compose.c \ \ $(SDK_DIR)/components/html.c \ \ $(CSTUFF_DIR)/list.c \ $(CSTUFF_DIR)/string.c \ # compilation macro options: CFLAGS := \ -std=c99 \ -pedantic \ -Wall \ -Wmissing-prototypes \ -Wstrict-prototypes \ -Wold-style-definition \ -O2 \ -s \ \ -I../ \ -I$(SDK_DIR) \ \ -D_POSIX_C_SOURCE=200809L \ -DEXECUTABLE="$(TARGET_NAME)" \ -DVERSION_MAJOR=$(VERSION_MAJOR) \ -DVERSION_MINOR=$(VERSION_MINOR) \ -DVERSION_TWEAK=$(VERSION_TWEAK) \ -DVERSION_LABEL=$(VERSION_LABEL) \ \ $(CFLAGS) \ LDFLAGS := # flags SOURCE_LIST := $(wildcard $(SOURCE_FILES)) OBJECT_LIST := $(addsuffix .o, $(addprefix $(OUT_DIR)/tool/, ${SOURCE_LIST})) all: $(TARGET_NAME) $(TARGET_NAME): $(OBJECT_LIST) $(info building target: $@) @$(CC) -o $(OUT_DIR)/$@ $(OBJECT_LIST) $(LDFLAGS) $(info done: $@) $(OUT_DIR)/tool/%.o: % $(info compiling file: $<) @mkdir -p $(dir $@) @$(CC) $(CFLAGS) -c $< -o $@ install: $(TARGET_NAME) $(info installing files) @cp $(OUT_DIR)/$< $(DESTDIR)$(PREFIX)/$(BIN_DIR) # vim:ft=make #