/
Makefile.in
82 lines (70 loc) · 2.06 KB
/
Makefile.in
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
78
79
80
81
82
csrc = $(wildcard src/*.c)
obj = $(csrc:.c=.o)
lib_a = libimago.a
somajor = 2
sominor = 3
sodir = lib
CFLAGS = -pedantic -Wall $(opt) $(dbg) $(pic) $(defs) -Isrc $(incdir)
LDFLAGS = $(libdir) $(ldflags_png) $(ldflags_jpeg)
incdir = -I$(PREFIX)/include
libdir = -L$(PREFIX)/lib
sys := $(patsubst MINGW32%,MINGW32,$(shell uname -s))
ifeq ($(sys), Darwin)
lib_so = libimago.dylib
shared = -dynamiclib
# add macports and fink dirs to the include and lib paths
incdir += -I/opt/local/include -I/sw/local/include -I/usr/X11R6/include
libdir += -L/opt/local/lib -L/sw/local/lib -L/usr/X11R6/lib
LDFLAGS += -ldl
else
ifeq ($(sys), MINGW32)
lib_so = libimago.dll
shared = -shared
sodir = bin
else
soname = libimago.so.$(somajor)
lib_so = $(soname).$(sominor)
solink = libimago.so
shared = -shared -Wl,-soname,$(soname)
pic = -fPIC
LDFLAGS += -ldl
endif # MINGW32
endif # Darwin
ifeq ($(shell uname -s), IRIX)
# add nekoware and SGI freeware dirs to the include and lib paths
incdir += -I/usr/nekoware/include -I/usr/freeware/include
libdir += -L/usr/nekoware/lib -L/usr/freeware/lib
endif
.PHONY: all
all: $(lib_a) $(lib_so)
$(lib_a): $(obj)
$(AR) rcs $@ $^
$(lib_so): $(obj)
$(CC) $(CFLAGS) $(shared) -o $@ $^ $(LDFLAGS)
.PHONY: clean
clean:
rm -f $(obj) $(lib_so) $(lib_a)
.PHONY: distclean
distclean:
rm -f $(obj) $(lib_so) $(lib_a) Makefile src/modules.c
.PHONY: install
install: $(lib_so) $(lib_a)
mkdir -p $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
cp src/imago2.h $(DESTDIR)$(PREFIX)/include/imago2.h
cp $(lib_so) $(DESTDIR)$(PREFIX)/$(sodir)/$(lib_so)
cp $(lib_a) $(DESTDIR)$(PREFIX)/lib/$(lib_a)
[ -n "$(solink)" ] \
&& cd $(DESTDIR)$(PREFIX)/$(sodir) \
&& rm -f $(solink) $(soname) \
&& ln -s $(lib_so) $(soname) \
&& ln -s $(soname) $(solink) \
|| true
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PREFIX)/include/imago2.h
rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(lib_so)
rm -f $(DESTDIR)$(PREFIX)/lib/$(lib_a)
[ -n "$(solink)" ] \
&& rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(solink) \
&& rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(soname) \
|| true