Makefile.in 2.11 KB
Newer Older
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
#
# PortAudio Makefile.in
#
# Dominic Mazzoni
#

CC = @CC@
CFLAGS = @CFLAGS@ -Ipa_common
LIBS = @LIBS@
AR = @AR@
RANLIB = @RANLIB@
INSTALL = @INSTALL@
PREFIX = @prefix@

OTHER_OBJS = @OTHER_OBJS@

PALIB = libportaudio.a
PADLL = libportaudio.so
PADLLV = libportaudio.so.0.0.18
PAINC = pa_common/portaudio.h

COMMON_OBJS = \
	pa_common/pa_convert.o \
	pa_common/pa_lib.o

TESTS = \
	bin/patest_buffer \
	bin/patest_clip \
	bin/patest_dither \
	bin/patest_hang \
	bin/patest_latency \
	bin/patest_leftright \
	bin/patest_longsine \
	bin/patest_many \
	bin/patest_maxsines \
	bin/patest_multi_sine \
	bin/patest_pink \
	bin/patest_record \
	bin/patest_ringmix \
	bin/patest_saw \
	bin/patest_sine8 \
	bin/patest_sine \
	bin/patest_sine_formats \
	bin/patest_sine_time \
	bin/patest_stop \
	bin/patest_sync \
	bin/patest_toomanysines \
	bin/patest_underflow \
	bin/patest_wire

OBJS = $(COMMON_OBJS) $(OTHER_OBJS)

all: lib/$(PALIB) lib/$(PADLLV) tests

tests: bin/ $(TESTS)

lib/$(PALIB): lib/ $(OBJS) Makefile $(PAINC)
	$(AR) ruv lib/$(PALIB) $(OBJS)
	$(RANLIB) lib/$(PALIB)

lib/$(PADLLV): lib/ $(OBJS) Makefile $(PAINC)
	$(CC) -shared -o lib/$(PADLLV) $(OBJS)

$(TESTS): bin/%: lib/$(PALIB) Makefile $(PAINC) pa_tests/%.c
	$(CC) -o $@ $(CFLAGS) pa_tests/$*.c lib/$(PALIB) $(LIBS)

install: lib/$(PALIB) lib/$(PADLLV)
	$(INSTALL) -m 644 lib/$(PALIB) $(PREFIX)/lib/$(PADLLV)
	$(INSTALL) -m 644 lib/$(PALIB) $(PREFIX)/lib/$(PALIB)
	cd $(PREFIX)/lib && rm -f $(PADLL) && ln -s $(PADLLV) $(PADLL)
	$(INSTALL) -m 644 pa_common/portaudio.h $(PREFIX)/include/portaudio.h
	@echo ""
	@echo "------------------------------------------------------------"
	@echo "PortAudio was successfully installed."
	@echo ""
	@echo "On some systems (e.g. Linux) you should run 'ldconfig' now"
	@echo "to make the shared object available.  You may also need to"
	@echo "modify your LD_LIBRARY_PATH environment variable to include"
	@echo "the directory $(PREFIX)/lib"
	@echo "------------------------------------------------------------"
	@echo ""

clean:
	rm -f $(OBJS) $(TESTS) lib/$(PALIB)

%.o: %.c Makefile $(PAINC)
	$(CC) -c $(CFLAGS) $< -o $@

bin:
	mkdir bin

lib:
	mkdir lib