30 lines
502 B
Makefile
30 lines
502 B
Makefile
CC = clang
|
|
CFLAGS = -I./include -fPIC -Wall -Wextra -O2 -fvisibility=hidden
|
|
LDFLAGS = -lssl -lcrypto
|
|
|
|
BUILD_DIR = build
|
|
SRC_DIR = src
|
|
|
|
LIBRARY = libircc.so
|
|
|
|
SRCS = $(shell find $(SRC_DIR) -name '*.c')
|
|
OBJS = $(patsubst %.c,$(BUILD_DIR)/%.o,$(SRCS))
|
|
|
|
.PHONY: libircc
|
|
|
|
all: $(BUILD_DIR) libircc
|
|
|
|
$(BUILD_DIR):
|
|
mkdir -p $(BUILD_DIR)
|
|
|
|
libircc: $(LIBRARY)
|
|
|
|
$(LIBRARY): $(OBJS)
|
|
$(CC) -shared -o $@ $^
|
|
|
|
$(BUILD_DIR)/%.o: %.c
|
|
mkdir -p $(dir $@)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
rm -f $(OBJS) $(LIBRARY)
|