native-nao
Version:
Nao is a math library written in C
88 lines (65 loc) • 3.63 kB
Plain Text
comma := ,
empty:=
space:= $(empty) $(empty)
destdir ?=
prefix ?= /usr
installdir := ${destdir}${prefix}
.DEFAULT_GOAL := all
all: debug-static debug-shared release-static release-shared
build/include/distance.h build/include/matrix.h build/include/polynomial.h build/include/scalar.h: build/include/%: src/%
-p ${dir $@}
src; cp --parents -t ../build/include $*
includes: build/include/distance.h build/include/matrix.h build/include/polynomial.h build/include/scalar.h
clean-includes:
-rf build
build/obj/test/src/main.c.o: build/obj/test/%.o: %
-p ${dir $@}
-c $< -o $@
test: debug-static build/obj/test/src/main.c.o
-p build/bin
-Lbuild/lib -l:libm.so build/obj/test/src/main.c.o -l:libnao.debug.a -o build/bin/nao
clean-test:
-rf build
library: includes
build/obj/static/src/distance.c.o build/obj/static/src/matrix.c.o build/obj/static/src/polynomial.c.o build/obj/static/src/scalar.c.o: build/obj/static/%.o: %
-p ${dir $@}
-fPIC -c $< -o $@
static: includes build/obj/static/src/distance.c.o build/obj/static/src/matrix.c.o build/obj/static/src/polynomial.c.o build/obj/static/src/scalar.c.o
-p build/lib
rcs build/lib/libnao.a build/obj/static/src/distance.c.o build/obj/static/src/matrix.c.o build/obj/static/src/polynomial.c.o build/obj/static/src/scalar.c.o
clean-static:
-rf build
shared: includes
build/obj/debug-static/src/distance.c.o build/obj/debug-static/src/matrix.c.o build/obj/debug-static/src/polynomial.c.o build/obj/debug-static/src/scalar.c.o: build/obj/debug-static/%.o: %
-p ${dir $@}
-fPIC -c $< -o $@
debug-static: includes build/obj/debug-static/src/distance.c.o build/obj/debug-static/src/matrix.c.o build/obj/debug-static/src/polynomial.c.o build/obj/debug-static/src/scalar.c.o
-p build/lib
rcs build/lib/libnao.debug.a build/obj/debug-static/src/distance.c.o build/obj/debug-static/src/matrix.c.o build/obj/debug-static/src/polynomial.c.o build/obj/debug-static/src/scalar.c.o
clean-debug-static:
-rf build
build/obj/release-static/src/distance.c.o build/obj/release-static/src/matrix.c.o build/obj/release-static/src/polynomial.c.o build/obj/release-static/src/scalar.c.o: build/obj/release-static/%.o: %
-p ${dir $@}
-fPIC -c $< -o $@
release-static: includes build/obj/release-static/src/distance.c.o build/obj/release-static/src/matrix.c.o build/obj/release-static/src/polynomial.c.o build/obj/release-static/src/scalar.c.o
-p build/lib
rcs build/lib/libnao.a build/obj/release-static/src/distance.c.o build/obj/release-static/src/matrix.c.o build/obj/release-static/src/polynomial.c.o build/obj/release-static/src/scalar.c.o
clean-release-static:
-rf build
debug-shared: includes debug-static
-p build/lib
-shared -fPIC -Wl,-soname,libnao.debug.so.0 -Lbuild/lib -l:libm.so -l:libnao.debug.a -o build/lib/libnao.debug.so.0.0.1
-sf libnao.debug.so.0.0.1 build/lib/libnao.debug.so
-sf libnao.debug.so.0.0.1 build/lib/libnao.debug.so.0
-sf libnao.debug.so.0.0.1 build/lib/libnao.debug.so.0.0
clean-debug-shared:
-rf build
release-shared: includes release-static
-p build/lib
-shared -fPIC -Wl,-soname,libnao.so.0 -Lbuild/lib -l:libm.so -l:libnao.a -o build/lib/libnao.so.0.0.1
-sf libnao.so.0.0.1 build/lib/libnao.so
-sf libnao.so.0.0.1 build/lib/libnao.so.0
-sf libnao.so.0.0.1 build/lib/libnao.so.0.0
clean-release-shared:
-rf build
clean: clean-test clean-static clean-debug-static clean-release-static clean-debug-shared clean-release-shared