sgl
annotate Makefile @ 1:0c13a30be2c1
wsys
author | John Tsiombikas <nuclear@siggraph.org> |
---|---|
date | Wed, 11 May 2011 05:34:37 +0300 |
parents | 40491760d6e3 |
children |
rev | line source |
---|---|
nuclear@0 | 1 src = $(wildcard src/*.c) |
nuclear@0 | 2 obj = $(src:.c=.o) |
nuclear@0 | 3 dep = $(src:.c=.d) |
nuclear@0 | 4 lib_a = libsgl.a |
nuclear@0 | 5 soname = libsgl.so.$(somajor) |
nuclear@0 | 6 lib_so = $(lib_so_$(sys)) |
nuclear@0 | 7 |
nuclear@0 | 8 somajor = 0 |
nuclear@0 | 9 sominor = 0 |
nuclear@0 | 10 |
nuclear@0 | 11 lib_so_unix = $(soname).$(minor) |
nuclear@0 | 12 lib_so_mac = libsgl.dylib |
nuclear@0 | 13 |
nuclear@0 | 14 sharedopt_unix = -shared -Wl,-soname,$(soname) |
nuclear@0 | 15 sharedopt_mac = -dynamiclib |
nuclear@0 | 16 |
nuclear@0 | 17 ifeq ($(shell uname -a), Darwin) |
nuclear@0 | 18 sys = mac |
nuclear@0 | 19 else |
nuclear@0 | 20 sys = unix |
nuclear@0 | 21 endif |
nuclear@0 | 22 |
nuclear@0 | 23 AR = ar |
nuclear@0 | 24 CC = gcc |
nuclear@1 | 25 CFLAGS = -pedantic -Wall -g -fPIC -Iinclude -Isrc |
nuclear@0 | 26 |
nuclear@0 | 27 .PHONY: all |
nuclear@0 | 28 all: $(lib_so) $(lib_a) |
nuclear@0 | 29 |
nuclear@0 | 30 $(lib_a): $(obj) |
nuclear@0 | 31 $(AR) rcs $@ $(obj) |
nuclear@0 | 32 |
nuclear@0 | 33 $(lib_so): $(obj) |
nuclear@0 | 34 $(CC) $(sharedopt_$(sys)) -o $@ $(obj) |
nuclear@0 | 35 |
nuclear@0 | 36 -include $(dep) |
nuclear@0 | 37 |
nuclear@0 | 38 %.d: %.c |
nuclear@0 | 39 @$(CPP) $(CFLAGS) -MM -MT $(@:.d=.o) $< >$@ |
nuclear@0 | 40 |
nuclear@0 | 41 .PHONY: clean |
nuclear@0 | 42 clean: |
nuclear@0 | 43 rm -f $(obj) $(dep) $(lib_so) $(lib_a) |
nuclear@0 | 44 |
nuclear@0 | 45 .PHONY: install |
nuclear@0 | 46 install: |
nuclear@0 | 47 mkdir -p $(PREFIX)/include $(PREFIX)/lib |
nuclear@0 | 48 cp $(lib_a) $(PREFIX)/lib/$(lib_a) |
nuclear@0 | 49 cp $(lib_so) $(PREFIX)/lib/$(lib_so) |
nuclear@0 | 50 cp include/sgl.h $(PREFIX)/include/sgl.h |
nuclear@0 | 51 |
nuclear@0 | 52 .PHONY: uninstall |
nuclear@0 | 53 uninstall: |
nuclear@0 | 54 rm -f $(PREFIX)/lib/$(lib_a) |
nuclear@0 | 55 rm -f $(PREFIX)/lib/$(lib_so) |
nuclear@0 | 56 rm -f $(PREFIX)/include/sgl.h |