89 lines
1.4 KiB
Makefile
89 lines
1.4 KiB
Makefile
#
|
|
# 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
|
|
#
|