alog/Makefile
Aidan Hahn 1e9b701542
add rudimentary unit tests, and logging timestamps
Signed-off-by: Aidan Hahn <aidan@aidanis.online>
2022-02-28 01:09:33 -08:00

38 lines
677 B
Makefile

CC ?= gcc
BUILD_DIR ?= $(shell pwd)/build
TARGET_DIR ?= $(shell pwd)/target
CFLAGS = -Wall -Wextra -O2
LDFLAGS = -shared
ifdef ALOG_HIJACK_PRINTF
CFLAGS += -DALOG_HIJACK_PRINTF
endif
ifdef ALOG_DEBUG
CFLAGS += -g
endif
ALOG_SRC = alog.c
ALOG_OBJ = $(BUILD_DIR)/alog.o
ALOG_LIB = $(TARGET_DIR)/alog.so
include tests/tests.mk
.PHONY: so
so: $(if $(shell stat $(ALOG_LIB)), clean) $(ALOG_LIB)
$(ALOG_LIB): $(TARGET_DIR) $(ALOG_OBJ)
$(CC) $(LDFLAGS) -o $(ALOG_LIB) $(ALOG_OBJ)
$(ALOG_OBJ): $(BUILD_DIR)
$(CC) $(CFLAGS) -fPIC -c alog.c -o $(ALOG_OBJ)
$(BUILD_DIR):
mkdir $(BUILD_DIR)
$(TARGET_DIR):
mkdir $(TARGET_DIR)
.PHONY: clean
clean:
rm $(ALOG_LIB) $(ALOG_OBJ)