diff modules/common/Makefile.common @ 1083:d87493ecc64b

[xemacs-hg @ 2002-11-04 05:19:45 by ben] factor out some module code
author ben
date Mon, 04 Nov 2002 05:19:54 +0000
parents
children 184461bc8de4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/common/Makefile.common	Mon Nov 04 05:19:54 2002 +0000
@@ -0,0 +1,79 @@
+##   Common Makefile section for modules in XEmacs.
+##   Copyright (C) 2002 Jerry James.
+
+## This file is part of XEmacs.
+
+## XEmacs 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, or (at your option) any
+## later version.
+
+## XEmacs 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 XEmacs; see the file COPYING.  If not, write to
+## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+## Boston, MA 02111-1307, USA.
+
+## Synched up with: Not in FSF.
+
+## This is more complicated than would normally be the case, as this makefile
+## has been tailored to work both inside and independently of the XEmacs
+## source tree, and to support both module and non-module building inside the
+## source tree.
+
+SRC_SRCS=$(SRCS:%=$(srcdir)/%)
+OBJS=$(SRCS:.c=.o)
+
+SHELL=/bin/sh
+RM=rm -f
+PROGNAME=@PROGNAME@
+CFLAGS=@CFLAGS@
+INSTALL=@INSTALL@
+version=@version@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+instvardir=@instvardir@
+configuration=@configuration@
+moduledir=@moduledir@
+with_modules=@with_modules@
+
+srcdir=@srcdir@
+VPATH=@srcdir@
+
+CC=@MOD_CC@
+MODARCHDIR=@MODARCHDIR@
+MAKE_DOCFILE=@MAKE_DOCFILE@
+MODCFLAGS=@MODCFLAGS@
+INSTALLPATH=@INSTALLPATH@
+INSTALL_PROGRAM=@MOD_INSTALL_PROGRAM@
+OBJECT_TO_BUILD=@OBJECT_TO_BUILD@
+
+.PHONY:	clean distclean install
+all: $(OBJECT_TO_BUILD)
+
+.c.o:
+	$(CC) $(MODCFLAGS) -c $<
+
+$(MODNAME).ell: $(OBJS) $(MODNAME)_i.o
+	$(CC) --mode=link --mode=verbose --mod-output=$@ $^ $(LDFLAGS)
+
+$(MODNAME)_i.c: $(SRCS)
+	ELLMAKEDOC=$(MAKE_DOCFILE) $(CC) --mode=init --mod-output=$@ \
+	--mod-name=$(MODNAME) --mod-version=$(MODVER) \
+	--mod-title=$(MODTITLE) $(SRC_SRCS)
+
+clean:
+	$(RM) $(MODNAME).ell $(OBJS) $(MODNAME)_i.* *~
+
+distclean: clean
+	$(RM) Makefile config.* configure
+
+extraclean: distclean
+
+install: $(OBJECT_TO_BUILD)
+	$(INSTALL_PROGRAM) $< $(INSTALLPATH)