File: Makefile

package info (click to toggle)
sonic 0.2.0-13
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,780 kB
  • sloc: ansic: 1,456; java: 887; makefile: 64; sh: 32
file content (61 lines) | stat: -rw-r--r-- 1,929 bytes parent folder | download | duplicates (3)
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
# 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
CFLAGS += -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) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG)

sonic.o: sonic.c sonic.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -c sonic.c

wave.o: wave.c wave.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -c wave.c

main.o: main.c sonic.h wave.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -c main.c

libsonic.so.$(LIB_TAG): sonic.o
	$(CC) $(CPPFLAGS) $(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

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)$(LIBDIR)
	install sonic $(DESTDIR)$(PREFIX)/bin
	install sonic.h $(DESTDIR)$(PREFIX)/include
	install libsonic.so.$(LIB_TAG) $(DESTDIR)$(LIBDIR)
	install libsonic.a $(DESTDIR)$(LIBDIR)
	ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(LIBDIR)/libsonic.so
	ln -sf libsonic.so.$(LIB_TAG) $(DESTDIR)$(LIBDIR)/libsonic.so.0

uninstall: 
	rm -f $(DESTDIR)$(PREFIX)/bin/sonic 
	rm -f $(DESTDIR)$(PREFIX)/include/sonic.h
	rm -f $(DESTDIR)$(LIBDIR)/libsonic.so.$(LIB_TAG)
	rm -f $(DESTDIR)$(LIBDIR)/libsonic.so
	rm -f $(DESTDIR)$(LIBDIR)/libsonic.so.0
	rm -f $(DESTDIR)$(LIBDIR)/libsonic.a

clean:
	rm -f *.o sonic libsonic.so* libsonic.a