--- Makefile.orig 2025-07-05 14:41:11 +++ Makefile 2025-07-05 14:45:33 @@ -1,3 +1,5 @@ +PREFIX ?= /opt/local +INSTALLLIBNAME = $(PREFIX)/lib/libqoa.dylib CC ?= gcc # QOACONV @@ -7,17 +9,20 @@ # Remove -D QOACONV_HAS_DRMP3 and -D QOACONV_HAS_DRFLAC to compile qoaconv # without MP3/FLAC support TARGET_CONV ?= qoaconv -CFLAGS_CONV ?= -std=c99 -O3 -D QOACONV_HAS_DRMP3 -D QOACONV_HAS_DRFLAC -LFLAGS_CONV ?= -lm +CFLAGS_CONV += -std=c99 -O3 -D QOACONV_HAS_DRMP3 -D QOACONV_HAS_DRFLAC +LFLAGS_CONV += -lm - # QOAPLAY # Requires # - https://github.com/floooh/sokol/blob/master/sokol_audio.h # FIXME: not yet tested on Windows/macOS TARGET_PLAY ?= qoaplay -CFLAGS_PLAY ?= -std=gnu99 -O3 +CFLAGS_PLAY += -std=gnu99 -O3 +TARGET_LIB ?= libqoa.dylib +CFLAGS_LIB += -std=gnu99 +LFLAGS_LIB += -dynamiclib -pthread -framework AudioToolbox + ifeq ($(OS),Windows_NT) LFLAGS_PLAY ?= # defined in #pragma() in sokol_audio.h else @@ -29,7 +34,7 @@ endif endif -all: $(TARGET_PLAY) $(TARGET_CONV) +all: $(TARGET_PLAY) $(TARGET_CONV) $(TARGET_LIB) play: $(TARGET_PLAY) $(TARGET_PLAY):$(TARGET_PLAY).c qoa.h @@ -39,6 +44,10 @@ $(TARGET_CONV):$(TARGET_CONV).c qoa.h $(CC) $(CFLAGS_CONV) $(TARGET_CONV).c -o $(TARGET_CONV) $(LFLAGS_CONV) +play: $(TARGET_LIB) +$(TARGET_LIB):qoaplay.c qoa.h qoaplay.h + $(CC) $(CFLAGS_LIB) qoaplay.c -o $(TARGET_LIB) $(LFLAGS_LIB) -install_name $(INSTALLLIBNAME) + .PHONY: clean clean: - $(RM) $(TARGET_PLAY) $(TARGET_CONV) + $(RM) $(TARGET_PLAY) $(TARGET_CONV) $(TARGET_LIB)