blob: 4aeeec209e9f6561e325b0cc4f940d774f442816 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# Optional miniaudio, independent of the default build and MiniFB.
MINIAUDIO_REV := 0.11.23
MINIAUDIO_SRC := lib/miniaudio-$(MINIAUDIO_REV)
MINIAUDIO_HEADER := $(MINIAUDIO_SRC)/miniaudio.h
ifeq ($(OS),Windows_NT)
AUDIO_CC := x86_64-w64-mingw32-gcc
AUDIO_LIB := $(RELEASE)/$(CPU_ABI)/simple_miniaudio.dll
AUDIO_FLAGS := -D_WIN32_WINNT=0x0601
AUDIO_LIBS := -lm
else
AUDIO_CC := gcc
AUDIO_LIB := $(RELEASE)/$(CPU_ABI)/libsimple_miniaudio.so
AUDIO_FLAGS := -fPIC
AUDIO_LIBS := -lpthread -lm -ldl
endif
.PHONY: audio
audio: $(AUDIO_LIB)
.PHONY: test-audio
test-audio: $(MINIAUDIO_HEADER)
@mkdir -p build/objs
@$(AUDIO_CC) -O2 -Wall -Wextra $(AUDIO_FLAGS) -I$(MINIAUDIO_SRC) src/test/c/audio_test.c $(AUDIO_LIBS) -o build/objs/audio_test$(if $(filter Windows_NT,$(OS)),.exe,)
@build/objs/audio_test$(if $(filter Windows_NT,$(OS)),.exe,)
lib libs init: $(MINIAUDIO_HEADER)
$(MINIAUDIO_HEADER):
@$(call download-library,https://raw.githubusercontent.com/mackron/miniaudio/$(MINIAUDIO_REV)/miniaudio.h)
$(AUDIO_LIB): $(MINIAUDIO_HEADER) src/main/c/simple_miniaudio.c src/main/c/simple_audio.h audio.mk
@echo "building " $@
@mkdir -p $(dir $@)
@$(AUDIO_CC) -shared -O2 -Wall -Wextra $(AUDIO_FLAGS) -I$(MINIAUDIO_SRC) src/main/c/simple_miniaudio.c $(AUDIO_LIBS) -o $@
@sed -n '/^This software is available as a choice of the following licenses/,$$p' $(MINIAUDIO_HEADER) > $(dir $@)miniaudio-LICENSE
|