mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
100 lines
3.3 KiB
Diff
100 lines
3.3 KiB
Diff
Improved build for Mac
|
|
https://github.com/waywardgeek/sonic/commit/eebb020958f0fa84ee831a55f7158cee8d108819
|
|
--- Makefile.orig 2021-08-17 17:58:09.000000000 -0500
|
|
+++ Makefile 2021-08-17 17:58:40.000000000 -0500
|
|
@@ -5,22 +5,30 @@
|
|
# safe. We call malloc, and older Linux versions only linked in the thread-safe
|
|
# malloc if -pthread is specified.
|
|
|
|
-SONAME=soname
|
|
+PREFIX=/usr/local
|
|
+BINDIR=$(PREFIX)/bin
|
|
+LIBDIR=$(PREFIX)/lib
|
|
+INCDIR=$(PREFIX)/include
|
|
+
|
|
+SONAME=-soname,
|
|
+SHARED_OPT=-shared
|
|
+LIB_NAME=libsonic.so
|
|
+LIB_TAG=.0.2.0
|
|
+
|
|
UNAME := $(shell uname)
|
|
ifeq ($(UNAME), Darwin)
|
|
- SONAME=install_name
|
|
+ SONAME=-install_name,$(LIBDIR)/
|
|
+ SHARED_OPT=-dynamiclib
|
|
+ LIB_NAME=libsonic.dylib
|
|
+ LIB_TAG=
|
|
endif
|
|
CFLAGS ?= -O3
|
|
CFLAGS += -Wall -ansi -fPIC -pthread
|
|
-LIB_TAG=0.2.0
|
|
-CC=gcc
|
|
-PREFIX=/usr
|
|
-LIBDIR=$(PREFIX)/lib
|
|
|
|
-all: sonic libsonic.so.$(LIB_TAG) libsonic.a
|
|
+all: sonic $(LIB_NAME)$(LIB_TAG) libsonic.a
|
|
|
|
-sonic: wave.o main.o libsonic.so.$(LIB_TAG)
|
|
- $(CC) $(CFLAGS) $(LDFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG)
|
|
+sonic: wave.o main.o $(LIB_NAME)$(LIB_TAG)
|
|
+ $(CC) $(CFLAGS) $(LDFLAGS) -o sonic wave.o main.o $(LIB_NAME)$(LIB_TAG)
|
|
|
|
sonic.o: sonic.c sonic.h
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c sonic.c
|
|
@@ -31,30 +39,37 @@
|
|
main.o: main.c sonic.h wave.h
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c main.c
|
|
|
|
-libsonic.so.$(LIB_TAG): sonic.o
|
|
- $(CC) $(CFLAGS) $(LDFLAGS) -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
|
|
+$(LIB_NAME)$(LIB_TAG): sonic.o
|
|
+ $(CC) $(CFLAGS) $(LDFLAGS) $(SHARED_OPT) -Wl,$(SONAME)$(LIB_NAME) sonic.o -o $(LIB_NAME)$(LIB_TAG)
|
|
+ifneq ($(UNAME), Darwin)
|
|
+ ln -sf $(LIB_NAME)$(LIB_TAG) $(LIB_NAME)
|
|
+ ln -sf $(LIB_NAME)$(LIB_TAG) $(LIB_NAME).0
|
|
+endif
|
|
|
|
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: sonic $(LIB_NAME)$(LIB_TAG) sonic.h
|
|
+ install -d $(DESTDIR)$(BINDIR) $(DESTDIR)$(INCDIR) $(DESTDIR)$(LIBDIR)
|
|
+ install sonic $(DESTDIR)$(BINDIR)
|
|
+ install sonic.h $(DESTDIR)$(INCDIR)
|
|
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
|
|
+ install $(LIB_NAME)$(LIB_TAG) $(DESTDIR)$(LIBDIR)
|
|
+ifneq ($(UNAME), Darwin)
|
|
+ ln -sf $(LIB_NAME)$(LIB_TAG) $(DESTDIR)$(LIBDIR)/$(LIB_NAME)
|
|
+ ln -sf $(LIB_NAME)$(LIB_TAG) $(DESTDIR)$(LIBDIR)/$(LIB_NAME).0
|
|
+endif
|
|
|
|
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)$(BINDIR)/sonic
|
|
+ rm -f $(DESTDIR)$(INCDIR)/sonic.h
|
|
rm -f $(DESTDIR)$(LIBDIR)/libsonic.a
|
|
+ rm -f $(DESTDIR)$(LIBDIR)/$(LIB_NAME)$(LIB_TAG)
|
|
+ rm -f $(DESTDIR)$(LIBDIR)/$(LIB_NAME).0
|
|
+ rm -f $(DESTDIR)$(LIBDIR)/$(LIB_NAME)
|
|
|
|
clean:
|
|
- rm -f *.o sonic libsonic.so* libsonic.a
|
|
+ rm -f *.o sonic $(LIB_NAME)* libsonic.a test.wav
|
|
+
|
|
+check:
|
|
+ ./sonic -s 2.0 ./samples/talking.wav ./test.wav
|