rbtree
diff Makefile.in @ 0:6621337b6378
red-black tree lib
author | John Tsiombikas <nuclear@mutantstargoat.com> |
---|---|
date | Sun, 09 Oct 2011 07:48:14 +0300 |
parents | |
children | 56a08d00bb41 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/Makefile.in Sun Oct 09 07:48:14 2011 +0300 1.3 @@ -0,0 +1,58 @@ 1.4 +src = $(wildcard src/*.c) 1.5 +obj = $(src:.c=.o) 1.6 +dep = $(obj:.o=.d) 1.7 + 1.8 +name = rbtree 1.9 + 1.10 +AR = ar 1.11 +CC = gcc 1.12 +CFLAGS = -pedantic -Wall $(dbg) $(opt) -fPIC 1.13 + 1.14 +ifeq ($(shell uname -s), Darwin) 1.15 + lib_a = $(name).a 1.16 + lib_so = $(name).dylib 1.17 + shared = -dynamiclib $(lib_so) 1.18 +else 1.19 + lib_a = lib$(name).a 1.20 + devlink = lib$(name).so 1.21 + soname = $(devlink).0 1.22 + lib_so = $(soname).0 1.23 + shared = -shared -Wl,-soname=$(soname) 1.24 +endif 1.25 + 1.26 +.PHONY: all 1.27 +all: $(lib_so) $(lib_a) 1.28 + 1.29 +$(lib_a): $(obj) 1.30 + $(AR) rcs $(lib_a) $(obj) 1.31 + 1.32 +$(lib_so): $(obj) 1.33 + $(CC) -o $@ $(shared) $(obj) $(LDFLAGS) 1.34 + 1.35 +-include $(dep) 1.36 + 1.37 +%.d: %.c 1.38 + @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ 1.39 + 1.40 +.PHONY: clean 1.41 +clean: 1.42 + rm -f $(obj) $(lib_a) $(lib_so) 1.43 + 1.44 +.PHONY: install 1.45 +install: 1.46 + mkdir -p $(PREFIX)/include $(PREFIX)/lib 1.47 + cp src/rbtree.h $(PREFIX)/include/rbtree.h 1.48 + cp $(lib_a) $(PREFIX)/lib/$(lib_a) 1.49 + cp $(lib_so) $(PREFIX)/lib/$(lib_so) 1.50 + [ -n "$(soname)" ] \ 1.51 + && rm -f $(PREFIX)/lib/$(soname) $(PREFIX)/lib/$(devlink) \ 1.52 + && ln -s $(PREFIX)/lib/$(lib_so) $(PREFIX)/lib/$(soname) \ 1.53 + && ln -s $(PREFIX)/lib/$(soname) $(PREFIX)/lib/$(devlink) \ 1.54 + || true 1.55 + 1.56 +.PHONY: uninstall 1.57 + rm -f $(PREFIX)/include/rbtree.h 1.58 + rm -f $(PREFIX)/lib/$(lib_a) 1.59 + rm -f $(PREFIX)/lib/$(lib_so) 1.60 + rm -f $(PREFIX)/lib/$(soname) 1.61 + rm -f $(PREFIX)/lib/$(devlink)