upd makefile

This commit is contained in:
wheelchairy 2025-01-29 20:56:49 +03:00
parent 13b9376d9c
commit a894c7b5e0

View File

@ -4,7 +4,14 @@ CFLAGS = -O2 -Wall -I./libs -pthread
CXXFLAGS = -std=c++17 -O2 -Wall -I./libs -pthread
UNAME_S := $(shell uname -s)
BREW_PREFIX := $(shell brew --prefix portaudio 2>/dev/null)
CACHE_DIR = cache
OUT_DIR = out
TARGET = $(OUT_DIR)/cerberus
SRCS_CPP = main.cpp commands.cpp cli.cpp webserver.cpp sound.cpp bfsk.cpp x25519_handshake.cpp
SRCS_C = libs/monocypher.c libs/linenoise.c
OBJS_CPP = $(patsubst %.cpp, $(CACHE_DIR)/%.o, $(SRCS_CPP))
OBJS_C = $(patsubst libs/%.c, $(CACHE_DIR)/%.o, $(SRCS_C))
OBJS = $(OBJS_CPP) $(OBJS_C)
ifneq ($(UNAME_S),)
ifeq ($(UNAME_S),Darwin)
ifneq ($(BREW_PREFIX),)
@ -29,24 +36,24 @@ endif
endif
endif
SRCS_CPP = main.cpp commands.cpp cli.cpp webserver.cpp sound.cpp bfsk.cpp x25519_handshake.cpp
SRCS_C = libs/monocypher.c libs/linenoise.c
OBJS_CPP = $(SRCS_CPP:.cpp=.o)
OBJS_C = $(SRCS_C:.c=.o)
TARGET = cerberus
.PHONY: all clean
all: $(TARGET)
$(TARGET): $(OBJS_CPP) $(OBJS_C)
$(TARGET): $(OBJS) | $(OUT_DIR)
$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
%.o: %.cpp
$(CACHE_DIR)/%.o: %.cpp | $(CACHE_DIR)
$(CXX) $(CXXFLAGS) -c $< -o $@
%.o: %.c
$(CACHE_DIR)/%.o: libs/%.c | $(CACHE_DIR)
$(CC) $(CFLAGS) -c $< -o $@
$(CACHE_DIR):
mkdir -p $(CACHE_DIR)
$(OUT_DIR):
mkdir -p $(OUT_DIR)
clean:
rm -f $(TARGET) *.o libs/*.o
rm -f $(TARGET) $(CACHE_DIR)/*.o