Mercurial > hg > xemacs-beta
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)