61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
# This file was written by Bill Cox in 2010, and is licensed under the Apache
 | 
						|
# 2.0 license.
 | 
						|
#
 | 
						|
# Note that -pthread is only included so that older Linux builds will be thread
 | 
						|
# safe.  We call malloc, and older Linux versions only linked in the thread-safe
 | 
						|
# malloc if -pthread is specified.
 | 
						|
 | 
						|
SONAME=soname
 | 
						|
UNAME := $(shell uname)
 | 
						|
ifeq ($(UNAME), Darwin)
 | 
						|
  SONAME=install_name
 | 
						|
endif
 | 
						|
#CFLAGS=-Wall -g -ansi -fPIC -pthread
 | 
						|
CFLAGS=-Wall -O3 -ansi -fPIC -pthread
 | 
						|
LIB_TAG=0.2.0
 | 
						|
CC=gcc
 | 
						|
PREFIX=/usr
 | 
						|
LIBDIR=$(PREFIX)/lib
 | 
						|
 | 
						|
all: sonic libsonic.so.$(LIB_TAG) libsonic.a
 | 
						|
 | 
						|
sonic: wave.o main.o libsonic.so.$(LIB_TAG)
 | 
						|
	$(CC) $(CFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG)
 | 
						|
 | 
						|
sonic.o: sonic.c sonic.h
 | 
						|
	$(CC) $(CFLAGS) -c sonic.c
 | 
						|
 | 
						|
wave.o: wave.c wave.h
 | 
						|
	$(CC) $(CFLAGS) -c wave.c
 | 
						|
 | 
						|
main.o: main.c sonic.h wave.h
 | 
						|
	$(CC) $(CFLAGS) -c main.c
 | 
						|
 | 
						|
libsonic.so.$(LIB_TAG): sonic.o
 | 
						|
	$(CC) $(CFLAGS) -shared -Wl,-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG)
 | 
						|
	ln -sf libsonic.so.$(LIB_TAG) libsonic.so
 | 
						|
	ln -sf libsonic.so.$(LIB_TAG) libsonic.so.0
 | 
						|
 | 
						|
libsonic.a: sonic.o
 | 
						|
	$(AR) cqs libsonic.a sonic.o
 | 
						|
 | 
						|
install: sonic libsonic.so.$(LIB_TAG) sonic.h
 | 
						|
	install -d $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
 | 
						|
	install sonic $(DESTDIR)$(PREFIX)/bin
 | 
						|
	install sonic.h $(DESTDIR)$(PREFIX)/include
 | 
						|
	install libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib
 | 
						|
	install libsonic.a $(DESTDIR)$(LIBDIR)
 | 
						|
	ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib/libsonic.so
 | 
						|
	ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib/libsonic.so.0
 | 
						|
 | 
						|
uninstall: 
 | 
						|
	rm -f $(DESTDIR)$(PREFIX)/bin/sonic 
 | 
						|
	rm -f $(DESTDIR)$(PREFIX)/include/sonic.h
 | 
						|
	rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so.$(LIB_TAG)
 | 
						|
	rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so
 | 
						|
	rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so.0
 | 
						|
	rm -f $(DESTDIR)$(LIBDIR)/libsonic.a
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -f *.o sonic libsonic.so* libsonic.a
 |