88 lines
1.8 KiB
Makefile
88 lines
1.8 KiB
Makefile
#################################################
|
|
#
|
|
# Makefile - Test GUI
|
|
#
|
|
# Crimata Technologies 2020
|
|
#
|
|
#####################################################
|
|
|
|
CXX := -gcc
|
|
CXXFLAGS := `pkg-config --cflags gtk+-3.0`
|
|
|
|
|
|
LDFLAGS := \
|
|
-L/usr/lib \
|
|
-L/usr/local/lib \
|
|
-lfvad \
|
|
-lportaudio \
|
|
|
|
APP_NAME := Crimata
|
|
BUILD_DIR := ./build
|
|
OBJ_DIR := $(BUILD_DIR)/objects
|
|
APP_DIR := $(BUILD_DIR)/apps
|
|
EXE_DIR := $(BUILD_DIR)/apps/$(APP_NAME).app/Contents/MacOS
|
|
INCLUDE := \
|
|
-I . \
|
|
-I include/ \
|
|
-I ../gui/include/ \
|
|
-I ../networking/include/ \
|
|
-I ../audio/include/ \
|
|
-I /usr/include/gtk-3.0 \
|
|
|
|
SRC := \
|
|
$(wildcard src/main.c) \
|
|
$(wildcard ../gui/src/gtk-cairo_api.c) \
|
|
$(wildcard ../gui/src/anims.c) \
|
|
$(wildcard ../gui/src/eases.c) \
|
|
$(wildcard ../networking/src/package_handler.c) \
|
|
$(wildcard ../audio/src/audio_handler.c) \
|
|
$(wildcard ../audio/src/frame_buffer.c) \
|
|
|
|
|
|
OBJECTS := $(SRC:%.c=$(OBJ_DIR)/%.o)
|
|
|
|
|
|
# Rules
|
|
all: kill clean build $(EXE_DIR)/$(APP_NAME) run
|
|
|
|
|
|
# Compile all src files into object files into object directory
|
|
$(OBJ_DIR)/%.o: %.c
|
|
@mkdir -p $(@D)
|
|
$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@
|
|
|
|
|
|
# Link and make exe
|
|
$(EXE_DIR)/$(APP_NAME): $(OBJECTS)
|
|
@mkdir -p $(@D)
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ `pkg-config --libs gtk+-3.0` $(LDFLAGS)
|
|
|
|
|
|
.PHONY: all build clean debug release
|
|
|
|
|
|
build:
|
|
@mkdir -p $(APP_DIR)/$(APP_NAME).app/Contents/{MacOS,Resources}
|
|
@mkdir -p $(OBJ_DIR)
|
|
@cp Info.plist $(APP_DIR)/$(APP_NAME).app/Contents/
|
|
@cp resources/* $(APP_DIR)/$(APP_NAME).app/Contents/Resources/
|
|
|
|
# debug: CXXFLAGS += -DDEBUG -g
|
|
# debug: all
|
|
|
|
|
|
# release: CXXFLAGS += -O2
|
|
# release: all
|
|
|
|
|
|
run: $(EXE_DIR)/$(APP_NAME)
|
|
# remove object file directories
|
|
rm -rvf $(BUILD_DIR)/audio $(BUILD_DIR)/gui $(BUILD_DIR)/networking
|
|
$<
|
|
|
|
|
|
clean:
|
|
-@rm -rvf $(BUILD_DIR)/*
|
|
|
|
kill:
|
|
@pkill $(APP_NAME) || true
|