view skeleton/Makefile.inc @ 378:29a73259f59a

Split out big Makefile into Makefile.inc and platform-specific Makefiles
author Chris Cannam
date Fri, 05 Sep 2014 09:31:00 +0100
parents skeleton/Makefile.skeleton@d5c5a52e6c9f
children 853640243f3d
line wrap: on
line source

##  Makefile for Vamp plugin builds using command-line tools.
##
##  This file defines all of the system-independent information about
##  your project: the list of source files, plugin library name, etc.
##  Edit this file to make sure it has all the right information.
##
##  This file does not define the system-specific stuff such as which
##  compiler to use -- that goes into Makefile.osx, Makefile.mingw32,
##  Makefile.linux etc.  Those files all include this file, so that
##  they all have a consistent set of project data.
##
##  To build the plugin project, type
##
##    $ gmake -f Makefile.osx
##
##  or whatever the equivalent filename suffix is for your platform.
##
##  This requires GNU make, which is what you get with OS/X, Linux, or
##  MinGW/Cygwin on Windows.
##
##  (For Windows builds using MS Visual Studio, start instead with the
##  VampExamplePlugins project found in the build directory of the SDK.)


# Edit this to the base name of your plugin library
#
PLUGIN_LIBRARY_NAME := myplugins

# Edit this to list the .cpp or .c files in your plugin project
#
PLUGIN_SOURCES := MyPlugin.cpp plugins.cpp

# Edit this to list the .h files in your plugin project
#
PLUGIN_HEADERS := MyPlugin.h


##  Normally you should not edit anything below this line

SRC_DIR		:= .

CFLAGS		:= $(ARCHFLAGS) $(CFLAGS)
CXXFLAGS	:= $(CFLAGS) -I. -I$(VAMPSDK_DIR) -I$(CQ_DIR) -I$(BQVEC_DIR) -I$(FD_DIR) $(CXXFLAGS)

LDFLAGS		:= $(ARCHFLAGS) $(LDFLAGS) 
PLUGIN_LDFLAGS	:= $(LDFLAGS) $(PLUGIN_LDFLAGS)

# Defaults, overridden from the platform-specific Makefile
VAMPSDK_DIR	?= ../vamp-plugin-sdk
PLUGIN_EXT	?= .so
CXX 		?= g++
CC 		?= gcc

PLUGIN 		:= $(PLUGIN_LIBRARY_NAME)$(PLUGIN_EXT)

PLUGIN_OBJECTS 	:= $(PLUGIN_SOURCES:.cpp=.o)
PLUGIN_OBJECTS 	:= $(PLUGIN_OBJECTS:.c=.o)

$(PLUGIN): $(PLUGIN_OBJECTS) 
	   $(CXX) -o $@ $^ $(LDFLAGS)

$(PLUGIN_OBJECTS): $(PLUGIN_HEADERS)

clean:
	rm -f $(OBJECTS)

distclean:	clean
	rm -f $(PLUGIN)

depend:
	makedepend -Y -fMakefile.inc $(SOURCES) $(HEADERS)