From b5d086c2894c492e17391b17f2600de83206a7b6 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Wed, 19 Aug 2015 17:34:12 +0100 Subject: [PATCH] Factor common Makefile definitions into a `vars.am' file. Organization: Straylight/Edgeware From: Mark Wooding --- Makefile.am | 2 ++ lib/Makefile.am | 26 +++++++++---------- src/Makefile.am | 7 ++--- vars.am | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 19 deletions(-) create mode 100644 vars.am diff --git a/Makefile.am b/Makefile.am index 4e1b7d5..55757e0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 = ###-------------------------------------------------------------------------- diff --git a/lib/Makefile.am b/lib/Makefile.am index 6b21e4b..0e4c4fc 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -23,36 +23,34 @@ ### 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 -------------------------------------------------- diff --git a/src/Makefile.am b/src/Makefile.am index e71c5c0..b5150be 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,11 +23,7 @@ ### 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 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 -------------------------------------------------- -- [mdw]