aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile53
1 files changed, 25 insertions, 28 deletions
diff --git a/Makefile b/Makefile
index 829725a..20b7908 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-## Pd library template version 1.0.1
+## Pd library template version 1.0.2
# For instructions on how to use this template, see:
# http://puredata.info/docs/developer/MakefileTemplate
LIBRARY_NAME = smlib
@@ -7,15 +7,6 @@ LIBRARY_NAME = smlib
# included automatically
SOURCES = bp.c decimator.c deltas.c hip.c hist.c itov.c lavg.c lhist.c lhisti.c linspace.c lmax.c lmin.c lrange.c lstd.c prevl.c threshold.c vabs.c vclip.c vcog.c vdbtorms.c vdelta.c vfmod.c vftom.c vlavg.c vlmax.c vlmin.c vlrange.c vmax.c vmin.c vmtof.c vnmax.c vpow.c vrms.c vrmstodb.c vstd.c vsum.c vthreshold.c vvconv.c vvminus.c vvplus.c
-# For objects that only build on certain platforms, add those to the SOURCES
-# line for the right platforms.
-SOURCES_android =
-SOURCES_cygwin =
-SOURCES_macosx =
-SOURCES_iphoneos =
-SOURCES_linux =
-SOURCES_windows =
-
# list all pd objects (i.e. myobject.pd) files here, and their helpfiles will
# be included automatically
PDOBJECTS =
@@ -27,7 +18,7 @@ EXAMPLES =
MANUAL =
# if you want to include any other files in the source and binary tarballs,
-# list them here. This can be anything from header files, example patches,
+# list them here. This can be anything from header files, test patches,
# documentation, etc. README.txt and LICENSE.txt are required and therefore
# automatically included
EXTRA_DIST = SMLib.c SMLib-help.pd SMLib.dsp SMLib.dsw SMLib.opt SMLib.plg defines.h
@@ -36,6 +27,16 @@ EXTRA_DIST = SMLib.c SMLib-help.pd SMLib.dsp SMLib.dsw SMLib.opt SMLib.plg defin
#------------------------------------------------------------------------------#
#
+# things you might need to edit if you are using other C libraries
+#
+#------------------------------------------------------------------------------#
+
+CFLAGS = -DPD -I$(PD_PATH)/src -Wall -W -g
+LDFLAGS =
+LIBS =
+
+#------------------------------------------------------------------------------#
+#
# you shouldn't need to edit anything below here, if we did it right :)
#
#------------------------------------------------------------------------------#
@@ -51,14 +52,10 @@ libdir = $(prefix)/lib
pkglibdir = $(libdir)/pd-externals
objectsdir = $(pkglibdir)
-
INSTALL = install
INSTALL_FILE = $(INSTALL) -p -m 644
INSTALL_DIR = $(INSTALL) -p -m 755 -d
-CFLAGS = -DPD -I$(PD_PATH)/src -Wall -W -g
-LDFLAGS =
-LIBS =
ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \
$(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows)
@@ -110,6 +107,7 @@ ifeq ($(UNAME),Darwin)
endif
endif
ifeq ($(UNAME),Linux)
+ CPU := $(shell uname -m)
SOURCES += $(SOURCES_linux)
EXTENSION = pd_linux
OS = linux
@@ -121,6 +119,7 @@ ifeq ($(UNAME),Linux)
DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
endif
ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
+ CPU := $(shell uname -m)
SOURCES += $(SOURCES_cygwin)
EXTENSION = dll
OS = cygwin
@@ -132,6 +131,7 @@ ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
DISTBINDIR=$(DISTDIR)-$(OS)
endif
ifeq (MINGW,$(findstring MINGW,$(UNAME)))
+ CPU := $(shell uname -m)
SOURCES += $(SOURCES_windows)
EXTENSION = dll
OS = windows
@@ -143,10 +143,13 @@ ifeq (MINGW,$(findstring MINGW,$(UNAME)))
DISTBINDIR=$(DISTDIR)-$(OS)
endif
+# in case somebody manually set the HELPPATCHES above
+HELPPATCHES ?= $(SOURCES:.c=-help.pd) $(PDOBJECTS:.c=-help.pd)
+
CFLAGS += $(OPT_CFLAGS)
-.PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags
+.PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags $(LIBRARY_NAME)
all: $(SOURCES:.c=.$(EXTENSION))
@@ -162,7 +165,6 @@ $(LIBRARY_NAME): $(SOURCES:.c=.o) $(LIBRARY_NAME).o
$(CC) $(LDFLAGS) -o $(LIBRARY_NAME).$(EXTENSION) $(SOURCES:.c=.o) $(LIBRARY_NAME).o $(LIBS)
chmod a-x $(LIBRARY_NAME).$(EXTENSION)
-
install: libdir_install
# The meta and help files are explicitly installed to make sure they are
@@ -186,11 +188,8 @@ single_install: $(LIBRARY_NAME) install-doc install-exec
install-doc:
$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
- test -z "$(strip $(SOURCES))" || \
- $(INSTALL_FILE) $(SOURCES:.c=-help.pd) \
- $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
- test -z "$(strip $(PDOBJECTS))" || \
- $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) \
+ test -z "$(strip $(SOURCES) $(PDOBJECTS))" || \
+ $(INSTALL_FILE) $(HELPPATCHES) \
$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
$(INSTALL_FILE) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt
$(INSTALL_FILE) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt
@@ -211,7 +210,7 @@ install-manual:
clean:
- -rm -f -- $(SOURCES:.c=.o)
+ -rm -f -- $(SOURCES:.c=.o) $(SOURCES_LIB:.c=.o)
-rm -f -- $(SOURCES:.c=.$(EXTENSION))
-rm -f -- $(LIBRARY_NAME).o
-rm -f -- $(LIBRARY_NAME).$(EXTENSION)
@@ -231,7 +230,7 @@ $(DISTBINDIR):
libdir: all $(DISTBINDIR)
$(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd $(DISTBINDIR)
$(INSTALL_FILE) $(SOURCES) $(DISTBINDIR)
- $(INSTALL_FILE) $(SOURCES:.c=-help.pd) $(DISTBINDIR)
+ $(INSTALL_FILE) $(HELPPATCHES) $(DISTBINDIR)
test -z "$(strip $(EXTRA_DIST))" || \
$(INSTALL_FILE) $(EXTRA_DIST) $(DISTBINDIR)
# tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR)
@@ -249,12 +248,10 @@ dist: $(DISTDIR)
$(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd $(DISTDIR)
test -z "$(strip $(ALLSOURCES))" || \
$(INSTALL_FILE) $(ALLSOURCES) $(DISTDIR)
- test -z "$(strip $(ALLSOURCES))" || \
- $(INSTALL_FILE) $(ALLSOURCES:.c=-help.pd) $(DISTDIR)
test -z "$(strip $(PDOBJECTS))" || \
$(INSTALL_FILE) $(PDOBJECTS) $(DISTDIR)
- test -z "$(strip $(PDOBJECTS))" || \
- $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) $(DISTDIR)
+ test -z "$(strip $(HELPPATCHES))" || \
+ $(INSTALL_FILE) $(HELPPATCHES) $(DISTDIR)
test -z "$(strip $(EXTRA_DIST))" || \
$(INSTALL_FILE) $(EXTRA_DIST) $(DISTDIR)
test -z "$(strip $(EXAMPLES))" || \