added README, license, and configure script
[assman] / Makefile.in
1 src = $(wildcard src/*.c)
2 obj = $(src:.c=.o)
3 dep = $(obj:.o=.d)
4
5 name = assman
6 so_major = 0
7 so_minor = 1
8
9 lib_a = lib$(name).a
10 sodir = lib
11
12 sys := $(shell uname -s | sed 's/MINGW.*/mingw/')
13 ifeq ($(sys), Darwin)
14         lib_so = lib$(name).dylib
15         sharedopt = -dynamiclib
16
17 else ifeq ($(sys), mingw)
18         lib_so = lib$(name).dll
19         sharedopt = -shared
20         sodir = bin
21
22 else
23         ldname = lib$(name).so
24         soname = lib$(name).so.$(so_major)
25         lib_so = lib$(name).so.$(so_major).$(so_minor)
26         sharedopt = -shared -Wl,-soname,$(soname)
27 endif
28
29
30 warn = -pedantic -Wall
31 pic = -fPIC
32
33 CFLAGS = $(warn) $(dbg) $(opt) $(pic) $(inc) $(mod_url_cflags)
34 LDFLAGS = $(mod_url_libs)
35
36 .PHONY: all
37 all: $(lib_so) $(lib_a) $(soname) $(ldname)
38
39 $(lib_so): $(obj)
40         $(CC) -o $@ $(sharedopt) $(obj) $(LDFLAGS)
41
42 $(lib_a): $(obj)
43         $(AR) rcs $@ $(obj)
44
45 $(soname): $(lib_so)
46         rm -f $@ && ln -s $< $@
47
48 $(ldname): $(soname)
49         rm -f $@ && ln -s $< $@
50
51 -include $(dep)
52
53 %.d: %.c
54         @echo "generating depfile $< -> $@"
55         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
56
57 .PHONY: clean
58 clean:
59         rm -f $(obj) $(lib_a) $(lib_so) $(soname) $(ldname)
60
61 .PHONY: cleandep
62 cleandep:
63         rm -f $(dep)
64
65 .PHONY: install
66 install: $(lib_a) $(lib_so)
67         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/include
68         cp $(lib_a) $(DESTDIR)$(PREFIX)/lib/$(lib_a)
69         cp $(lib_so) $(DESTDIR)$(PREFIX)/$(sodir)/$(lib_so)
70         cp src/assman.h $(DESTDIR)$(PREFIX)/include/assman.h
71         [ -n "$(ldname)" ] && \
72                 rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(ldname) $(DESTDIR)$(PREFIX)/$(sodir)/$(soname) && \
73                 cd $(DESTDIR)$(PREFIX)/lib && ln -s $(lib_so) $(ldname) && ln -s $(lib_so) $(soname) || true
74
75
76 .PHONY: uninstall
77 uninstall:
78         rm -f $(DESTDIR)$(PREFIX)/include/assman.h
79         rm -f $(DESTDIR)$(PREFIX)/lib/$(lib_a)
80         rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(lib_so)
81         [ -n "$(ldname)" ] && \
82                 rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(ldname) && \
83                 rm -f $(DESTDIR)$(PREFIX)/$(sodir)/$(soname) || true
84