Factor common Makefile definitions into a `vars.am' file.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 19 Aug 2015 16:34:12 +0000 (17:34 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 19 Aug 2015 16:34:12 +0000 (17:34 +0100)
Makefile.am
lib/Makefile.am
src/Makefile.am
vars.am [new file with mode: 0644]

index 4e1b7d5..55757e0 100644 (file)
@@ -23,6 +23,8 @@
 ### along with SOD; if not, write to the Free Software Foundation,
 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+include        $(top_srcdir)/vars.am
+
 SUBDIRS                         =
 
 ###--------------------------------------------------------------------------
index 6b21e4b..0e4c4fc 100644 (file)
 ### along with SOD; if not, write to the Free Software Foundation,
 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+include        $(top_srcdir)/vars.am
+
+###--------------------------------------------------------------------------
+### The library.
+
 lib_LTLIBRARIES                 = libsod.la
 libsod_la_LDFLAGS       = -version-info $(LIBTOOL_VERSION_INFO)
 
 libsod_la_SOURCES       =
-include_HEADERS                 =
 
 nodist_libsod_la_SOURCES =
-nodist_include_HEADERS  =
-
-SOD                     = $(top_builddir)/src/sod
-
-BUILT_SOURCES           =
+nodist_pkginclude_HEADERS=
 
 ###--------------------------------------------------------------------------
 ### The source files.
 
 libsod_la_SOURCES      += sod.c
-include_HEADERS                += sod.h
+pkginclude_HEADERS     += sod.h
 
 ###--------------------------------------------------------------------------
 ### Generated builtin module.
 
-BUILT_SOURCES          += sod-base.c sod-base.h
 nodist_libsod_la_SOURCES+= sod-base.c
-nodist_include_HEADERS += sod-base.h
-
-sod-base.c: $(SOD)
-       $(SOD) -tc --builtin
+nodist_pkginclude_HEADERS+= sod-base.h
+BUILT_SOURCES          += $(nodist_libsod_la_SOURCES) \
+                               $(nodist_pkginclude_HEADERS)
 
-sod-base.h: $(SOD)
-       $(SOD) -th --builtin
+sod-base.c: $(SOD); $(SOD) -tc --builtin
+sod-base.h: $(SOD); $(SOD) -th --builtin
 
 ###----- That's all, folks --------------------------------------------------
index e71c5c0..b5150be 100644 (file)
 ### along with SOD; if not, write to the Free Software Foundation,
 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-bin_PROGRAMS            =
-
-CLEANFILES              =
-
-pkglispsrcdir           = $(lispsrcdir)/$(PACKAGE)
+include        $(top_srcdir)/vars.am
 
 dist_pkglispsrc_DATA    =
 
@@ -96,6 +92,7 @@ dist_pkglispsrc_DATA  += frontend.lisp optparse.lisp
 
 CLEANFILES             += *.$(FASL_TYPE)
 
+## Building the executable image.
 bin_PROGRAMS           += sod
 sod_SOURCES             =
 sod: $(dist_pkglispsrc_DATA)
diff --git a/vars.am b/vars.am
new file mode 100644 (file)
index 0000000..7e2a89f
--- /dev/null
+++ b/vars.am
@@ -0,0 +1,68 @@
+### -*-makefile-*-
+###
+### Common variable definitions for build scripts
+###
+### (c) 2015 Straylight/Edgeware
+###
+
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the Sensble Object Design, an object system for C.
+###
+### SOD is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### SOD is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with SOD; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+###--------------------------------------------------------------------------
+### Miscellaneous useful definitions.
+
+## Installation directories.
+pkglispsrcdir           = $(lispsrcdir)/$(PACKAGE)
+
+###--------------------------------------------------------------------------
+### Initial values for common variables.
+
+EXTRA_DIST              =
+CLEANFILES              =
+DISTCLEANFILES          =
+MAINTAINERCLEANFILES    =
+SUFFIXES                =
+BUILT_SOURCES           =
+
+bin_PROGRAMS            =
+check_PROGRAMS          =
+pkginclude_HEADERS      =
+
+CLEANFILES             += $(BUILT_SOURCES)
+
+###--------------------------------------------------------------------------
+### Include and library path.
+
+SOD_INCLUDES            = \
+       -I$(top_srcdir)/lib -I$(top_builddir)/lib
+
+AM_CPPFLAGS             = $(SOD_INCLUDES)
+LDADD                   = $(top_builddir)/lib/libsod.la
+
+###--------------------------------------------------------------------------
+### Translating SOD input files.
+
+## The tool location.
+SOD                     = $(top_builddir)/src/sod
+
+## Build rules.
+SUFFIXES               += .c .h .sod
+.sod.c: $(SOD); $(SOD) -tc $<
+.sod.h: $(SOD); $(SOD) -th $<
+
+###----- That's all, folks --------------------------------------------------