Bill Cox | 60eeb06 | 2015-02-27 10:17:45 -0800 | [diff] [blame] | 1 | # This file was written by Bill Cox in 2010, and is licensed under the Apache |
| 2 | # 2.0 license. |
| 3 | # |
Bill Cox | 87a3dc2 | 2011-04-15 13:30:46 -0400 | [diff] [blame] | 4 | # Note that -pthread is only included so that older Linux builds will be thread |
| 5 | # safe. We call malloc, and older Linux versions only linked in the thread-safe |
| 6 | # malloc if -pthread is specified. |
| 7 | |
Matthew Albright | 72ae545 | 2013-04-17 22:33:51 -0700 | [diff] [blame] | 8 | SONAME=soname |
| 9 | UNAME := $(shell uname) |
| 10 | ifeq ($(UNAME), Darwin) |
| 11 | SONAME=install_name |
| 12 | endif |
Bill Cox | 60eeb06 | 2015-02-27 10:17:45 -0800 | [diff] [blame] | 13 | #CFLAGS=-Wall -g -ansi -fPIC -pthread |
| 14 | CFLAGS=-Wall -O3 -ansi -fPIC -pthread |
| 15 | LIB_TAG=0.2.0 |
Bill Cox | 0ad5c27 | 2010-12-17 10:42:13 -0500 | [diff] [blame] | 16 | CC=gcc |
Bill Cox | 40bbd93 | 2011-04-13 14:36:09 -0400 | [diff] [blame] | 17 | PREFIX=/usr |
Bill Cox | 524a0ac | 2011-10-25 08:23:42 -0400 | [diff] [blame] | 18 | LIBDIR=$(PREFIX)/lib |
Bill Cox | ca02d87 | 2010-11-02 15:10:52 -0400 | [diff] [blame] | 19 | |
Bill Cox | 500b870 | 2011-10-21 03:24:41 -0400 | [diff] [blame] | 20 | all: sonic libsonic.so.$(LIB_TAG) libsonic.a |
Bill Cox | 7e1978e | 2010-11-03 11:05:17 -0400 | [diff] [blame] | 21 | |
Bill Cox | 59af467 | 2010-12-17 16:57:41 -0500 | [diff] [blame] | 22 | sonic: wave.o main.o libsonic.so.$(LIB_TAG) |
Bill Cox | 524a0ac | 2011-10-25 08:23:42 -0400 | [diff] [blame] | 23 | $(CC) $(CFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG) |
Bill Cox | ca02d87 | 2010-11-02 15:10:52 -0400 | [diff] [blame] | 24 | |
| 25 | sonic.o: sonic.c sonic.h |
Bill Cox | 0ad5c27 | 2010-12-17 10:42:13 -0500 | [diff] [blame] | 26 | $(CC) $(CFLAGS) -c sonic.c |
Bill Cox | ca02d87 | 2010-11-02 15:10:52 -0400 | [diff] [blame] | 27 | |
| 28 | wave.o: wave.c wave.h |
Bill Cox | 0ad5c27 | 2010-12-17 10:42:13 -0500 | [diff] [blame] | 29 | $(CC) $(CFLAGS) -c wave.c |
Bill Cox | ca02d87 | 2010-11-02 15:10:52 -0400 | [diff] [blame] | 30 | |
| 31 | main.o: main.c sonic.h wave.h |
Bill Cox | 0ad5c27 | 2010-12-17 10:42:13 -0500 | [diff] [blame] | 32 | $(CC) $(CFLAGS) -c main.c |
Bill Cox | 7e1978e | 2010-11-03 11:05:17 -0400 | [diff] [blame] | 33 | |
Bill Cox | 59af467 | 2010-12-17 16:57:41 -0500 | [diff] [blame] | 34 | libsonic.so.$(LIB_TAG): sonic.o |
Matthew Albright | 72ae545 | 2013-04-17 22:33:51 -0700 | [diff] [blame] | 35 | $(CC) $(CFLAGS) -shared -Wl,-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG) |
Bill Cox | 59af467 | 2010-12-17 16:57:41 -0500 | [diff] [blame] | 36 | ln -sf libsonic.so.$(LIB_TAG) libsonic.so |
Bill Cox | 1331812 | 2010-12-18 16:19:50 -0500 | [diff] [blame] | 37 | ln -sf libsonic.so.$(LIB_TAG) libsonic.so.0 |
Bill Cox | 7e1978e | 2010-11-03 11:05:17 -0400 | [diff] [blame] | 38 | |
Bill Cox | 500b870 | 2011-10-21 03:24:41 -0400 | [diff] [blame] | 39 | libsonic.a: sonic.o |
| 40 | $(AR) cqs libsonic.a sonic.o |
Bill Cox | 69a864b | 2011-03-04 02:51:43 -0500 | [diff] [blame] | 41 | |
Bill Cox | 59af467 | 2010-12-17 16:57:41 -0500 | [diff] [blame] | 42 | install: sonic libsonic.so.$(LIB_TAG) sonic.h |
Bill Cox | 0ad5c27 | 2010-12-17 10:42:13 -0500 | [diff] [blame] | 43 | install -d $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib |
| 44 | install sonic $(DESTDIR)$(PREFIX)/bin |
| 45 | install sonic.h $(DESTDIR)$(PREFIX)/include |
Bill Cox | 59af467 | 2010-12-17 16:57:41 -0500 | [diff] [blame] | 46 | install libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib |
Bill Cox | 500b870 | 2011-10-21 03:24:41 -0400 | [diff] [blame] | 47 | install libsonic.a $(DESTDIR)$(LIBDIR) |
Bill Cox | 59af467 | 2010-12-17 16:57:41 -0500 | [diff] [blame] | 48 | ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib/libsonic.so |
Bill Cox | 1331812 | 2010-12-18 16:19:50 -0500 | [diff] [blame] | 49 | ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib/libsonic.so.0 |
Bill Cox | ca02d87 | 2010-11-02 15:10:52 -0400 | [diff] [blame] | 50 | |
Bill Cox | 200a0ad | 2011-01-09 10:21:59 -0500 | [diff] [blame] | 51 | uninstall: |
| 52 | rm -f $(DESTDIR)$(PREFIX)/bin/sonic |
| 53 | rm -f $(DESTDIR)$(PREFIX)/include/sonic.h |
| 54 | rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so.$(LIB_TAG) |
| 55 | rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so |
| 56 | rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so.0 |
Bill Cox | 500b870 | 2011-10-21 03:24:41 -0400 | [diff] [blame] | 57 | rm -f $(DESTDIR)$(LIBDIR)/libsonic.a |
Bill Cox | 200a0ad | 2011-01-09 10:21:59 -0500 | [diff] [blame] | 58 | |
Bill Cox | ca02d87 | 2010-11-02 15:10:52 -0400 | [diff] [blame] | 59 | clean: |
Bill Cox | 500b870 | 2011-10-21 03:24:41 -0400 | [diff] [blame] | 60 | rm -f *.o sonic libsonic.so* libsonic.a |