sgl

view Makefile.in @ 19:12ce0cef7ebf

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 26 Jun 2011 02:30:37 +0300
parents e989ab58ec5b
children 0697fbd075b6
line source
1 src = $(wildcard src/*.c)
2 msrc = $(wildcard src/*.m)
3 obj = $(src:.c=.o) $(msrc:.m=.o)
4 dep = $(src:.c=.d)
5 lib_a = libsgl.a
6 soname = libsgl.so.$(somajor)
7 lib_so = $(lib_so_$(sys))
9 somajor = 0
10 sominor = 0
12 lib_so_unix = $(soname).$(sominor)
13 lib_so_mac = libsgl.dylib
15 sharedopt_unix = -shared -Wl,-soname,$(soname)
16 sharedopt_mac = -dynamiclib
18 ifeq ($(shell uname -s), Darwin)
19 sys = mac
20 else
21 sys = unix
22 endif
24 AR = ar
25 CC = gcc
26 CFLAGS = -pedantic -Wall -g -fPIC -Iinclude -Isrc
27 LDFLAGS = $(wsys_libs)
29 .PHONY: all
30 all: $(lib_so) $(lib_a)
32 $(lib_a): $(obj)
33 $(AR) rcs $@ $(obj)
35 $(lib_so): $(obj)
36 $(CC) $(sharedopt_$(sys)) -o $@ $(obj) $(LDFLAGS)
38 -include $(dep)
40 %.d: %.c
41 @$(CPP) $(CFLAGS) -MM -MT $(@:.d=.o) $< >$@
43 .PHONY: clean
44 clean:
45 rm -f $(obj) $(dep) $(lib_so) $(lib_a)
47 .PHONY: install
48 install:
49 mkdir -p $(PREFIX)/include $(PREFIX)/lib
50 cp $(lib_a) $(PREFIX)/lib/$(lib_a)
51 cp $(lib_so) $(PREFIX)/lib/$(lib_so)
52 cp include/sgl.h $(PREFIX)/include/sgl.h
54 .PHONY: uninstall
55 uninstall:
56 rm -f $(PREFIX)/lib/$(lib_a)
57 rm -f $(PREFIX)/lib/$(lib_so)
58 rm -f $(PREFIX)/include/sgl.h