96 lines
2.8 KiB
Makefile
96 lines
2.8 KiB
Makefile
#!/usr/bin/make -f
|
|
# Makefile for libjack #
|
|
# -------------------- #
|
|
# Created by falkTX
|
|
#
|
|
|
|
CWD=..
|
|
include $(CWD)/Makefile.mk
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
BINDIR := $(CWD)/../bin
|
|
|
|
ifeq ($(DEBUG),true)
|
|
OBJDIR := $(CWD)/../build/libjack/Debug
|
|
MODULEDIR := $(CWD)/../build/modules/Debug
|
|
else
|
|
OBJDIR := $(CWD)/../build/libjack/Release
|
|
MODULEDIR := $(CWD)/../build/modules/Release
|
|
endif
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
BUILD_C_FLAGS += -I$(CWD) -I$(CWD)/includes
|
|
BUILD_CXX_FLAGS += -I$(CWD) -I$(CWD)/backend -I$(CWD)/includes -I$(CWD)/utils
|
|
LINK_FLAGS += -pthread -lrt
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
ifeq ($(LINUX),true)
|
|
ifneq ($(JACKBRIDGE_DIRECT),true)
|
|
CAN_BUILD_LIBJACK=true
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CAN_BUILD_LIBJACK),true)
|
|
OBJS = \
|
|
$(OBJDIR)/libjack.cpp.o \
|
|
$(OBJDIR)/libjack_base.cpp.o \
|
|
$(OBJDIR)/libjack_callbacks.cpp.o \
|
|
$(OBJDIR)/libjack_client.cpp.o \
|
|
$(OBJDIR)/libjack_error.cpp.o \
|
|
$(OBJDIR)/libjack_latency.cpp.o \
|
|
$(OBJDIR)/libjack_non-callback.cpp.o \
|
|
$(OBJDIR)/libjack_metadata.cpp.o \
|
|
$(OBJDIR)/libjack_midi.cpp.o \
|
|
$(OBJDIR)/libjack_ports.cpp.o \
|
|
$(OBJDIR)/libjack_port-searching.cpp.o \
|
|
$(OBJDIR)/libjack_server-control.cpp.o \
|
|
$(OBJDIR)/libjack_stats.cpp.o \
|
|
$(OBJDIR)/libjack_time.cpp.o \
|
|
$(OBJDIR)/libjack_transport.cpp.o \
|
|
$(OBJDIR)/ringbuffer.c.o
|
|
TARGET = $(BINDIR)/jack/libjack.so.0
|
|
else
|
|
OBJS =
|
|
TARGET =
|
|
endif
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
all: $(TARGET)
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
clean:
|
|
rm -f $(OBJDIR)/*.o $(TARGET)
|
|
|
|
debug:
|
|
$(MAKE) DEBUG=true
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
$(TARGET): $(OBJS)
|
|
-@mkdir -p $(BINDIR)/jack
|
|
@echo "Linking libjack.so.0"
|
|
@$(CXX) $^ $(SHARED) $(LINK_FLAGS) $(LIBJACK_LIBS) -o $@
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
$(OBJDIR)/%.c.o: %.c
|
|
-@mkdir -p $(OBJDIR)
|
|
@echo "Compiling $<"
|
|
@$(CC) $< $(BUILD_C_FLAGS) -c -o $@
|
|
|
|
$(OBJDIR)/%.cpp.o: %.cpp
|
|
-@mkdir -p $(OBJDIR)
|
|
@echo "Compiling $<"
|
|
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
-include $(OBJS:%.o=%.d)
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|