Libtoolize and build flags, install header files. diff --git a/build/general/Makefile.inc b/build/general/Makefile.inc index 77d4b65..968025a 100644 --- a/build/general/Makefile.inc +++ b/build/general/Makefile.inc @@ -1,12 +1,14 @@ -LIBRARY ?= libqm-dsp.a -CXX ?= g++ -CC ?= gcc -AR ?= ar -RANLIB ?= ranlib +LIBRARY = libqm-dsp.la +ltversion = 0:0:0 +PREFIX = /usr +LIBDIR = $(PREFIX)/lib -CFLAGS := $(CFLAGS) -I. -CXXFLAGS := $(CXXFLAGS) -I. +LIBTOOL = libtool +CXX = g++ +CC = gcc + +ATLAS_LIBS ?= -L/usr/lib/atlas -llapack -lcblas HEADERS := base/Pitch.h \ base/Window.h \ @@ -82,15 +84,25 @@ SOURCES := base/Pitch.cpp \ maths/pca/pca.c \ thread/Thread.cpp -OBJECTS := $(SOURCES:.cpp=.o) -OBJECTS := $(OBJECTS:.c=.o) +OBJECTS := $(SOURCES:.cpp=.lo) +OBJECTS := $(OBJECTS:.c=.lo) + +$(LIBRARY): $(OBJECTS) + $(LIBTOOL) --mode=link $(CXX) -o $@ $(LDFLAGS) $(ATLAS_LIBS) -rpath $(LIBDIR) -version-info $(ltversion) $+ -$(LIBRARY): $(OBJECTS) - $(AR) cr $@ $^ - $(RANLIB) $@ +install: $(LIBRARY) + -mkdir -p $(DESTDIR)$(LIBDIR) + $(LIBTOOL) --mode=install install $(LIBRARY) $(DESTDIR)$(LIBDIR) + for h in $(HEADERS); do \ + install -D -m 0644 $$h $(DESTDIR)$(PREFIX)/include/qm-dsp/$$h; \ + done clean: - rm $(OBJECTS) + $(LIBTOOL) --mode=clean rm -f $(OBJECTS) + $(LIBTOOL) --mode=clean rm -f $(LIBRARY) + +%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(ATLAS_CPPFLAGS) -I. $< -o $@ -distclean: clean - rm $(LIBRARY) +%.lo: %.cpp + $(LIBTOOL) --mode=compile $(CXX) -c $(CXXFLAGS) $(ATLAS_CPPFLAGS) -I. $< -o $@ diff --git a/build/linux/Makefile.linux b/build/linux/Makefile.linux index 5f2b331..d3667d3 100644 --- a/build/linux/Makefile.linux +++ b/build/linux/Makefile.linux @@ -1,6 +1,7 @@ -CFLAGS := -DNDEBUG -O3 -fno-exceptions -fPIC -ffast-math -msse -mfpmath=sse -ftree-vectorize -fomit-frame-pointer -DUSE_PTHREADS +CFLAGS := -DNDEBUG -O3 -fno-exceptions -ffast-math -ftree-vectorize -fomit-frame-pointer -DUSE_PTHREADS $(CFLAGS) CXXFLAGS := $(CFLAGS) +LDFLAGS := $(LDFLAGS) include build/general/Makefile.inc diff --git a/build/linux/Makefile.linux64 b/build/linux/Makefile.linux64 deleted file mode 100644 index b5460d4..0000000 --- a/build/linux/Makefile.linux64 +++ /dev/null @@ -1,6 +0,0 @@ - -CFLAGS := -DNDEBUG -O3 -fno-exceptions -fPIC -ffast-math -msse -mfpmath=sse -ftree-vectorize -fomit-frame-pointer -DUSE_PTHREADS -Ibuild/linux/amd64 -CXXFLAGS := $(CFLAGS) - -include build/general/Makefile.inc -