blob: 223e484339ddfc67d0cb8aba013a0dfba86d64ef [file] [log] [blame]
Benny Prijonod1872312007-04-09 20:54:12 +00001# @configure_input@
2include ../../../build.mak
Benny Prijono27c98722007-04-09 21:28:15 +00003include $(PJDIR)/build/common.mak
Benny Prijonod1872312007-04-09 20:54:12 +00004
5export LIBDIR := ../../lib
6
Benny Prijono27c98722007-04-09 21:28:15 +00007RULES_MAK := $(PJDIR)/build/rules.mak
Benny Prijonod1872312007-04-09 20:54:12 +00008
9export PORTAUDIO_LIB:=../../lib/libportaudio-$(TARGET_NAME)$(LIBEXT)
10
11PORTAUDIO_OBJS := pa_allocation.o \
12 pa_converters.o \
13 pa_cpuload.o \
14 pa_dither.o \
15 pa_front.o \
16 pa_process.o \
17 pa_skeleton.o \
18 pa_stream.o \
19 pa_trace.o
20
21
22# Define the desired sound device backend
23# Valid values are:
24# - pa_unix: PortAudio on Unix (OSS or ALSA)
25# - pa_darwinos: PortAudio on MacOSX (CoreAudio)
26# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2)
27# - pa_win32: PortAudio on Win32 (WMME)
28#
29# There are other values below, but these are handled by PJMEDIA's Makefile
30# - ds: Win32 DirectSound (dsound.c)
31# - null: Null sound device (nullsound.c)
32AC_PJMEDIA_SND=@ac_pjmedia_snd@
33
34# For Unix, specify if ALSA should be supported
35AC_PA_USE_ALSA=@ac_pa_use_alsa@
36
37# Additional PortAudio CFLAGS are in @ac_pa_cflags@
38
39
40#
41# PortAudio on Unix
42#
43ifeq ($(AC_PJMEDIA_SND),pa_unix)
44# Host APIs and utils
45export PORTAUDIO_OBJS += pa_unix_hostapis.o pa_unix_util.o
46
47# Include ALSA?
48ifeq ($(AC_PA_USE_ALSA),1)
49export CFLAGS += -DPA_USE_ALSA=1
50export PORTAUDIO_OBJS += pa_linux_alsa.o
51endif
52
53export CFLAGS += -DPA_USE_OSS=1
Benny Prijono27c98722007-04-09 21:28:15 +000054export CFLAGS += @ac_pa_cflags@
Benny Prijonod1872312007-04-09 20:54:12 +000055export PORTAUDIO_OBJS += pa_unix_oss.o
56endif
57
58
59#
60# PortAudio on MacOS X (using current PortAudio)
61#
62ifeq ($(AC_PJMEDIA_SND),pa_darwinos)
63export PORTAUDIO_OBJS +=pa_mac_hostapis.o \
64 pa_unix_util.o \
65 pa_mac_core.o \
66 pa_mac_core_blocking.o \
67 pa_mac_core_utilities.o \
68 pa_ringbuffer.o
69export CFLAGS += -DPA_USE_COREAUDIO=1
70export CFLAGS += @ac_pa_cflags@
71endif
72
73#
74# PortAudio on MacOS X (using old PortAudio, for MacOS X 10.2.x)
75#
76ifeq ($(AC_PJMEDIA_SND),pa_old_darwinos)
77export PORTAUDIO_OBJS +=pa_mac_hostapis.o \
78 pa_unix_util.o \
79 pa_mac_core_old.o
80export CFLAGS += -DPA_USE_COREAUDIO=1
81export CFLAGS += @ac_pa_cflags@
82endif
83
84#
85#
86# PortAudio on Win32 (WMME)
87#
88ifeq ($(AC_PJMEDIA_SND),pa_win32)
89export PORTAUDIO_OBJS += pa_win_hostapis.o pa_win_util.o \
90 pa_win_wmme.o
91export CFLAGS += -DPA_NO_ASIO -DPA_NO_DS
92endif
93
94
95###############################################################################
96# Gather all flags.
97#
98export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
Benny Prijono27c98722007-04-09 21:28:15 +000099 $(CFLAGS) $(CC_INC). $(CC_INC)src
Benny Prijonod1872312007-04-09 20:54:12 +0000100export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
101 $(HOST_CXXFLAGS) $(CXXFLAGS)
102export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
103 $(LDFLAGS)
104
105###############################################################################
106# Defines for building PORTAUDIO library
107#
108export PORTAUDIO_SRCDIR = src
109export PORTAUDIO_OBJS +=
110export PORTAUDIO_CFLAGS += $(_CFLAGS)
111
112export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
113###############################################################################
114# Main entry
115#
116# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
117#
118TARGETS := libportaudio
119
120all: $(TARGETS)
121
122dep: depend
123distclean: realclean
124
125.PHONY: dep depend libportaudio clean realclean distclean
126
127libportaudio:
128 $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $(PORTAUDIO_LIB)
129
130clean:
131 $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
132
133realclean:
134 $(subst @@,$(subst /,$(HOST_PSEP),.libportaudio-$(TARGET_NAME).depend),$(HOST_RMR))
135
136 $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
137
138depend:
139 $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
140 echo '$(PORTAUDIO_LIB): .libportaudio-$(TARGET_NAME).depend' >> .libportaudio-$(TARGET_NAME).depend; \
141