41 lines
999 B
Makefile
41 lines
999 B
Makefile
CC ?= gcc
|
|
|
|
CFLAGS_COMMON := -std=c99 -Wall -Wextra -Wpedantic -O2 -g -D_POSIX_C_SOURCE=200809L
|
|
CFLAGS := $(CFLAGS_COMMON)
|
|
LDFLAGS :=
|
|
LIBS := -lpulse-simple -lpulse -lX11 -lXtst -lpthread
|
|
GTK_CFLAGS := $(shell pkg-config --cflags gtk+-3.0 2>/dev/null)
|
|
GTK_LIBS := $(shell pkg-config --libs gtk+-3.0 2>/dev/null)
|
|
|
|
WITH_WHISPER ?= 0
|
|
WHISPER_DIR ?= ./vendor/whisper.cpp
|
|
|
|
ifeq ($(WITH_WHISPER),1)
|
|
CFLAGS += -DWITH_WHISPER=1 -isystem $(WHISPER_DIR)/include -isystem $(WHISPER_DIR)/ggml/include
|
|
LDFLAGS += -L$(WHISPER_DIR)/build/src -L$(WHISPER_DIR)/build/ggml/src -Wl,-rpath,$(WHISPER_DIR)/build/src -Wl,-rpath,$(WHISPER_DIR)/build/ggml/src
|
|
LIBS += -lwhisper -lggml
|
|
endif
|
|
|
|
SRC := \
|
|
./src/gui_main.c \
|
|
./src/config.c \
|
|
./src/audio.c \
|
|
./src/transcribe.c \
|
|
./src/typer.c \
|
|
./src/voice_cmd.c
|
|
|
|
TARGET := ./voice_linux
|
|
|
|
.PHONY: all clean run
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(SRC)
|
|
$(CC) $(CFLAGS) $(GTK_CFLAGS) $^ -o $@ $(LDFLAGS) $(LIBS) $(GTK_LIBS)
|
|
|
|
run: $(TARGET)
|
|
./voice_linux
|
|
|
|
clean:
|
|
rm -f $(TARGET)
|