Benny Prijono | d187231 | 2007-04-09 20:54:12 +0000 | [diff] [blame] | 1 | # @configure_input@ |
| 2 | include ../../../build.mak |
Benny Prijono | 27c9872 | 2007-04-09 21:28:15 +0000 | [diff] [blame^] | 3 | include $(PJDIR)/build/common.mak |
Benny Prijono | d187231 | 2007-04-09 20:54:12 +0000 | [diff] [blame] | 4 | |
| 5 | export LIBDIR := ../../lib |
| 6 | |
Benny Prijono | 27c9872 | 2007-04-09 21:28:15 +0000 | [diff] [blame^] | 7 | RULES_MAK := $(PJDIR)/build/rules.mak |
Benny Prijono | d187231 | 2007-04-09 20:54:12 +0000 | [diff] [blame] | 8 | |
| 9 | export PORTAUDIO_LIB:=../../lib/libportaudio-$(TARGET_NAME)$(LIBEXT) |
| 10 | |
| 11 | PORTAUDIO_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) |
| 32 | AC_PJMEDIA_SND=@ac_pjmedia_snd@ |
| 33 | |
| 34 | # For Unix, specify if ALSA should be supported |
| 35 | AC_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 | # |
| 43 | ifeq ($(AC_PJMEDIA_SND),pa_unix) |
| 44 | # Host APIs and utils |
| 45 | export PORTAUDIO_OBJS += pa_unix_hostapis.o pa_unix_util.o |
| 46 | |
| 47 | # Include ALSA? |
| 48 | ifeq ($(AC_PA_USE_ALSA),1) |
| 49 | export CFLAGS += -DPA_USE_ALSA=1 |
| 50 | export PORTAUDIO_OBJS += pa_linux_alsa.o |
| 51 | endif |
| 52 | |
| 53 | export CFLAGS += -DPA_USE_OSS=1 |
Benny Prijono | 27c9872 | 2007-04-09 21:28:15 +0000 | [diff] [blame^] | 54 | export CFLAGS += @ac_pa_cflags@ |
Benny Prijono | d187231 | 2007-04-09 20:54:12 +0000 | [diff] [blame] | 55 | export PORTAUDIO_OBJS += pa_unix_oss.o |
| 56 | endif |
| 57 | |
| 58 | |
| 59 | # |
| 60 | # PortAudio on MacOS X (using current PortAudio) |
| 61 | # |
| 62 | ifeq ($(AC_PJMEDIA_SND),pa_darwinos) |
| 63 | export 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 |
| 69 | export CFLAGS += -DPA_USE_COREAUDIO=1 |
| 70 | export CFLAGS += @ac_pa_cflags@ |
| 71 | endif |
| 72 | |
| 73 | # |
| 74 | # PortAudio on MacOS X (using old PortAudio, for MacOS X 10.2.x) |
| 75 | # |
| 76 | ifeq ($(AC_PJMEDIA_SND),pa_old_darwinos) |
| 77 | export PORTAUDIO_OBJS +=pa_mac_hostapis.o \ |
| 78 | pa_unix_util.o \ |
| 79 | pa_mac_core_old.o |
| 80 | export CFLAGS += -DPA_USE_COREAUDIO=1 |
| 81 | export CFLAGS += @ac_pa_cflags@ |
| 82 | endif |
| 83 | |
| 84 | # |
| 85 | # |
| 86 | # PortAudio on Win32 (WMME) |
| 87 | # |
| 88 | ifeq ($(AC_PJMEDIA_SND),pa_win32) |
| 89 | export PORTAUDIO_OBJS += pa_win_hostapis.o pa_win_util.o \ |
| 90 | pa_win_wmme.o |
| 91 | export CFLAGS += -DPA_NO_ASIO -DPA_NO_DS |
| 92 | endif |
| 93 | |
| 94 | |
| 95 | ############################################################################### |
| 96 | # Gather all flags. |
| 97 | # |
| 98 | export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ |
Benny Prijono | 27c9872 | 2007-04-09 21:28:15 +0000 | [diff] [blame^] | 99 | $(CFLAGS) $(CC_INC). $(CC_INC)src |
Benny Prijono | d187231 | 2007-04-09 20:54:12 +0000 | [diff] [blame] | 100 | export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ |
| 101 | $(HOST_CXXFLAGS) $(CXXFLAGS) |
| 102 | export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ |
| 103 | $(LDFLAGS) |
| 104 | |
| 105 | ############################################################################### |
| 106 | # Defines for building PORTAUDIO library |
| 107 | # |
| 108 | export PORTAUDIO_SRCDIR = src |
| 109 | export PORTAUDIO_OBJS += |
| 110 | export PORTAUDIO_CFLAGS += $(_CFLAGS) |
| 111 | |
| 112 | export 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 | # |
| 118 | TARGETS := libportaudio |
| 119 | |
| 120 | all: $(TARGETS) |
| 121 | |
| 122 | dep: depend |
| 123 | distclean: realclean |
| 124 | |
| 125 | .PHONY: dep depend libportaudio clean realclean distclean |
| 126 | |
| 127 | libportaudio: |
| 128 | $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $(PORTAUDIO_LIB) |
| 129 | |
| 130 | clean: |
| 131 | $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@ |
| 132 | |
| 133 | realclean: |
| 134 | $(subst @@,$(subst /,$(HOST_PSEP),.libportaudio-$(TARGET_NAME).depend),$(HOST_RMR)) |
| 135 | |
| 136 | $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@ |
| 137 | |
| 138 | depend: |
| 139 | $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@ |
| 140 | echo '$(PORTAUDIO_LIB): .libportaudio-$(TARGET_NAME).depend' >> .libportaudio-$(TARGET_NAME).depend; \ |
| 141 | |