nuclear@0: src = $(wildcard src/*.c) nuclear@0: obj = $(src:.c=.o) nuclear@0: lib_a = libpsys.a nuclear@0: lib_so = libpsys.so nuclear@0: nuclear@0: CC = gcc nuclear@0: CFLAGS = -std=c89 -pedantic -Wall -g -fPIC -Isrc `pkg-config --cflags vmath` nuclear@0: LDFLAGS = `pkg-config --libs vmath` nuclear@0: nuclear@0: .PHONY: all nuclear@0: all: $(lib_a) $(lib_so) nuclear@0: nuclear@0: $(lib_a): $(obj) nuclear@0: $(AR) rcs $@ $^ nuclear@0: nuclear@0: $(lib_so): $(obj) nuclear@0: $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) nuclear@0: nuclear@0: .PHONY: install nuclear@0: install: $(lib_a) $(lib_so) nuclear@0: install -d $(PREFIX)/lib nuclear@0: install -m 644 $(lib_a) $(lib_so) $(PREFIX)/lib nuclear@0: install -d $(PREFIX)/include nuclear@0: install -m 644 src/psys.h $(PREFIX)/include/psys.h nuclear@0: install -d $(PREFIX)/lib/pkgconfig nuclear@0: install -m 644 psys.pc $(PREFIX)/lib/pkgconfig/psys.pc nuclear@0: nuclear@0: .PHONY: uninstall nuclear@0: uninstall: nuclear@0: rm -f $(PREFIX)/lib/$(lib_a) nuclear@0: rm -f $(PREFIX)/lib/$(lib_so) nuclear@0: rm -f $(PREFIX)/include/psys.h nuclear@0: rm -f $(PREFIX)/lib/pkgconfig/psys.pc nuclear@0: nuclear@0: .PHONY: clean nuclear@0: clean: nuclear@0: rm -f $(obj) nuclear@0: nuclear@0: .PHONY: distclean nuclear@0: distclean: nuclear@0: rm -f $(obj) $(lib_so) $(lib_a) Makefile psys.pc nuclear@0: nuclear@0: .PHONY: dist nuclear@0: dist: distclean nuclear@0: cd ..; tar czvf psys.tar.gz psys && mv psys.tar.gz psys/