153a5a1b3Sopenharmony_ci# This file was written by Bill Cox in 2010, and is licensed under the Apache
253a5a1b3Sopenharmony_ci# 2.0 license.
353a5a1b3Sopenharmony_ci#
453a5a1b3Sopenharmony_ci# Note that -pthread is only included so that older Linux builds will be thread
553a5a1b3Sopenharmony_ci# safe.  We call malloc, and older Linux versions only linked in the thread-safe
653a5a1b3Sopenharmony_ci# malloc if -pthread is specified.
753a5a1b3Sopenharmony_ci
853a5a1b3Sopenharmony_ciSONAME=soname
953a5a1b3Sopenharmony_ciUNAME := $(shell uname)
1053a5a1b3Sopenharmony_ciifeq ($(UNAME), Darwin)
1153a5a1b3Sopenharmony_ci  SONAME=install_name
1253a5a1b3Sopenharmony_ciendif
1353a5a1b3Sopenharmony_ci#CFLAGS=-Wall -g -ansi -fPIC -pthread
1453a5a1b3Sopenharmony_ciCFLAGS=-Wall -O3 -ansi -fPIC -pthread
1553a5a1b3Sopenharmony_ciLIB_TAG=0.2.0
1653a5a1b3Sopenharmony_ciCC=gcc
1753a5a1b3Sopenharmony_ciPREFIX=/usr
1853a5a1b3Sopenharmony_ciLIBDIR=$(PREFIX)/lib
1953a5a1b3Sopenharmony_ci
2053a5a1b3Sopenharmony_ciall: sonic libsonic.so.$(LIB_TAG) libsonic.a
2153a5a1b3Sopenharmony_ci
2253a5a1b3Sopenharmony_cisonic: wave.o main.o libsonic.so.$(LIB_TAG)
2353a5a1b3Sopenharmony_ci	$(CC) $(CFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG)
2453a5a1b3Sopenharmony_ci
2553a5a1b3Sopenharmony_cisonic.o: sonic.c sonic.h
2653a5a1b3Sopenharmony_ci	$(CC) $(CFLAGS) -c sonic.c
2753a5a1b3Sopenharmony_ci
2853a5a1b3Sopenharmony_ciwave.o: wave.c wave.h
2953a5a1b3Sopenharmony_ci	$(CC) $(CFLAGS) -c wave.c
3053a5a1b3Sopenharmony_ci
3153a5a1b3Sopenharmony_cimain.o: main.c sonic.h wave.h
3253a5a1b3Sopenharmony_ci	$(CC) $(CFLAGS) -c main.c
3353a5a1b3Sopenharmony_ci
3453a5a1b3Sopenharmony_cilibsonic.so.$(LIB_TAG): sonic.o
3553a5a1b3Sopenharmony_ci	$(CC) $(CFLAGS) -shared -Wl,-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG)
3653a5a1b3Sopenharmony_ci	ln -sf libsonic.so.$(LIB_TAG) libsonic.so
3753a5a1b3Sopenharmony_ci	ln -sf libsonic.so.$(LIB_TAG) libsonic.so.0
3853a5a1b3Sopenharmony_ci
3953a5a1b3Sopenharmony_cilibsonic.a: sonic.o
4053a5a1b3Sopenharmony_ci	$(AR) cqs libsonic.a sonic.o
4153a5a1b3Sopenharmony_ci
4253a5a1b3Sopenharmony_ciinstall: sonic libsonic.so.$(LIB_TAG) sonic.h
4353a5a1b3Sopenharmony_ci	install -d $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
4453a5a1b3Sopenharmony_ci	install sonic $(DESTDIR)$(PREFIX)/bin
4553a5a1b3Sopenharmony_ci	install sonic.h $(DESTDIR)$(PREFIX)/include
4653a5a1b3Sopenharmony_ci	install libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib
4753a5a1b3Sopenharmony_ci	install libsonic.a $(DESTDIR)$(LIBDIR)
4853a5a1b3Sopenharmony_ci	ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib/libsonic.so
4953a5a1b3Sopenharmony_ci	ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(PREFIX)/lib/libsonic.so.0
5053a5a1b3Sopenharmony_ci
5153a5a1b3Sopenharmony_ciuninstall: 
5253a5a1b3Sopenharmony_ci	rm -f $(DESTDIR)$(PREFIX)/bin/sonic 
5353a5a1b3Sopenharmony_ci	rm -f $(DESTDIR)$(PREFIX)/include/sonic.h
5453a5a1b3Sopenharmony_ci	rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so.$(LIB_TAG)
5553a5a1b3Sopenharmony_ci	rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so
5653a5a1b3Sopenharmony_ci	rm -f $(DESTDIR)$(PREFIX)/lib/libsonic.so.0
5753a5a1b3Sopenharmony_ci	rm -f $(DESTDIR)$(LIBDIR)/libsonic.a
5853a5a1b3Sopenharmony_ci
5953a5a1b3Sopenharmony_ciclean:
6053a5a1b3Sopenharmony_ci	rm -f *.o sonic libsonic.so* libsonic.a
61