alog/Makefile

36 lines
575 B
Makefile
Raw Normal View History

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