diff trunk/C++/Makefile @ 597:359bcd461dd1

First commit. Refer to the api [1] 'Philosophy of the implementation' for information on the approach used to implement CARFAC in C++. [1] aimc/C++/api/html/index.html
author flatmax
date Sat, 09 Feb 2013 23:53:48 +0000
parents
children 34dccba19c54
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trunk/C++/Makefile	Sat Feb 09 23:53:48 2013 +0000
@@ -0,0 +1,50 @@
+# Copyright 2013 Matt R. Flax <flatmax\@> All Rights Reserved.
+# Author Matt Flax <flatmax\@>
+#
+# This C++ file is part of an implementation of Lyon's cochlear model:
+# "Cascade of Asymmetric Resonators with Fast-Acting Compression"
+# to supplement Lyon's upcoming book "Human and Machine Hearing"
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Author : Matt Flax <flatmax\@>
+# Date : 2012.02.08
+
+SRC= AGC.C AGCCoeff.C AGCParam.C AGCState.C CAR.C CARCoeff.C CARParam.C CARState.C Coefficients.C Ear.C EarComponent.C Ears.C IHC.C IHCCoeff.C IHCParam.C IHCState.C Parameters.C State.C
+OBJ= $(SRC:.C=.o)
+
+CFLAGS = `pkg-config --cflags eigen3` #-std=c++0x
+
+all: lib
+
+VERMAJ=1
+VERMIN=0
+VER="\"${VERMAJ}.${VERMIN}\""
+
+LIBNAMEBASE=libCARFAC.so
+LIBNAMEMAJ=${LIBNAMEBASE}.${VERMAJ}
+LIBNAME=${LIBNAMEBASE}.${VERMAJ}.${VERMIN}
+
+lib: ${OBJ}
+	${CXX} -shared -Wl,-soname,${LIBNAMEMAJ} -o ${LIBNAME} ${OBJ}
+	ln -sf ${LIBNAME} ${LIBNAMEMAJ}
+	ln -sf ${LIBNAMEMAJ} ${LIBNAMEBASE}
+
+doc:
+	doxygen Doxyfile
+
+clean:
+	rm -f *.o lib* *~
+
+.C.o:
+	${CXX} ${CFLAGS} -fPIC -c -o $@ $<