-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
77 lines (59 loc) · 1.96 KB
/
Makefile
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in
### RtMidi library Makefile
RM = /bin/rm
LN = /bin/ln
OBJECTS = RtMidi.o
LIBNAME = librtmidi
STATIC = $(LIBNAME).a
SHARED = librtmidi.so
RELEASE = 2.1.0
MAJOR = 2
LIBRARIES = $(STATIC) $(SHARED)
CC = g++
AR = /usr/bin/ar
RANLIB = ranlib
DEFS = -D__LINUX_ALSA__
CFLAGS = -O3 -Wall -Wextra -Iinclude -fPIC
PREFIX = /usr/local
all : $(LIBRARIES)
tests:
cd tests && $(MAKE) all
$(LIBRARIES): $(OBJECTS)
$(AR) ruv $(STATIC) $(OBJECTS)
ranlib $(STATIC)
$(CC) -fPIC -shared -Wl,-soname,$(SHARED).$(MAJOR) -o $(SHARED).$(RELEASE) $(OBJECTS) -lpthread -lasound
$(LN) -sf librtmidi.so.$(RELEASE) $(SHARED)
$(LN) -sf librtmidi.so.$(RELEASE) $(SHARED).$(MAJOR)
# $(CC) -shared $(OBJECTS) -o $(SHARED) -lpthread -lasound
%.o : %.cpp
$(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@
%.o : include/%.cpp
$(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@
install: all
install --mode=755 $(STATIC) $(PREFIX)/lib/
install --mode=755 librtmidi.so.$(RELEASE) $(PREFIX)/lib/
$(LN) -sf librtmidi.so.$(RELEASE) $(PREFIX)/lib/$(SHARED)
$(LN) -sf librtmidi.so.$(RELEASE) $(PREFIX)/lib/$(SHARED).$(MAJOR)
install --mode=644 $(LIBNAME).pc $(PREFIX)/lib/pkgconfig
install --mode=755 rtmidi-config $(PREFIX)/bin/
install --mode=644 RtMidi.h RtError.h $(PREFIX)/include
uninstall:
-@rm -vf $(patsubst %,$(PREFIX)/lib/%, $(LIBRARIES) $(SHARED).$(MAJOR) $(SHARED).$(RELEASE))
-@rm -vf $(PREFIX)/lib/pkgconfig/$(LIBNAME).pc
-@rm -vf $(PREFIX)/bin/rtmidi-config
clean :
$(RM) -f $(LIBRARIES) librtmidi.so.$(RELEASE) $(SHARED)*
$(RM) -f $(OBJECTS)
$(RM) -f *~
cd tests && $(MAKE) clean
distclean:
$(RM) -f $(LIBRARIES) librtmidi.so.$(RELEASE) $(SHARED)*
$(RM) -f $(OBJECTS)
$(RM) -f *~
$(RM) -rf config.log config.status autom4te.cache Makefile rtmidi-config $(LIBNAME).pc
cd tests && $(MAKE) distclean
strip :
strip $(LIBRARIES)
ranlib $(LIBRARIES)
cd tests && $(MAKE) strip
.PHONY: strip distclean clean uninstall