added submodules, minor updates
This commit is contained in:
26
Makefile
26
Makefile
@@ -3,12 +3,15 @@ SRC_DIR := src
|
||||
INCLUDE_DIR := include
|
||||
PRIVATE_INCLUDE_DIR := privinclude
|
||||
|
||||
LIBIRCC_DIR := libircc
|
||||
LIBIRCC_LIB := $(LIBIRCC_DIR)/libircc.so
|
||||
|
||||
CC := clang
|
||||
CFLAGS := -I $(INCLUDE_DIR) -I $(PRIVATE_INCLUDE_DIR) -Wall -Wextra
|
||||
CFLAGS := -I$(INCLUDE_DIR) -I$(PRIVATE_INCLUDE_DIR) -I$(LIBIRCC_DIR)/include -Wall -Wextra
|
||||
CFLAGS_DBG := $(CFLAGS) -g -O0
|
||||
CFLAGS_REL := $(CFLAGS) -O2
|
||||
|
||||
LDFLAGS := -lssl -lcrypto
|
||||
LDFLAGS := -L./libircc -Wl,-rpath,'$$ORIGIN/libircc' -lircc -lssl -lcrypto
|
||||
LDFLAGS_REL := $(LDFLAGS) -s
|
||||
|
||||
APPLICATION := bbirc
|
||||
@@ -16,30 +19,37 @@ APPLICATION_DBG := bbirc-debug
|
||||
|
||||
$(shell mkdir -p $(BUILD_DIR))
|
||||
SRCS := $(wildcard $(SRC_DIR)/*.c)
|
||||
LIBIRCC_SRCS := $(shell find $(LIBIRCC_DIR)/$(SRC_DIR) -name '*.c')
|
||||
DBG_OBJS := $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/dbg_%.o,$(SRCS))
|
||||
REL_OBJS := $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/rel_%.o,$(SRCS))
|
||||
|
||||
.PHONY: all debug release both clean
|
||||
.PHONY: all debug release both clean ircc
|
||||
|
||||
all: release
|
||||
|
||||
debug: $(APPLICATION_DBG)
|
||||
release: $(APPLICATION)
|
||||
debug: ircc $(APPLICATION_DBG)
|
||||
release: ircc $(APPLICATION)
|
||||
both: debug release
|
||||
ircc: $(LIBIRCC_LIB)
|
||||
|
||||
$(APPLICATION): $(REL_OBJS)
|
||||
$(CC) -o $@ $^ $(LDFLAGS_REL)
|
||||
|
||||
$(APPLICATION_DBG): $(DBG_OBJS)
|
||||
+$(MAKE) -C $(LIBIRCC_DIR)
|
||||
$(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
$(BUILD_DIR)/dbg_%.o: $(SRC_DIR)/%.c
|
||||
$(CC) -c -o $@ $^ $(CFLAGS_DBG)
|
||||
$(CC) -c -o $@ $< $(CFLAGS_DBG)
|
||||
|
||||
$(BUILD_DIR)/rel_%.o: $(SRC_DIR)/%.c
|
||||
$(CC) -c -o $@ $^ $(CFLAGS_REL)
|
||||
$(CC) -c -o $@ $< $(CFLAGS_REL)
|
||||
|
||||
$(LIBIRCC_LIB): $(LIBIRCC_SRCS)
|
||||
+$(MAKE) -C libircc
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
rm -rf $(APPLICATION)
|
||||
rm -rf $(APPLICATION_DBG)
|
||||
rm -rf $(APPLICATION_DBG)
|
||||
+$(MAKE) -C $(LIBIRCC_DIR) clean
|
||||
Reference in New Issue
Block a user