view modules/common/Makefile.common @ 1633:baca156a450b

[xemacs-hg @ 2003-08-19 02:11:46 by james] Make modules build and run on Cygwin and MinGW. This is the second commit to get the toplevel files that were not committed the first time.
author james
date Tue, 19 Aug 2003 02:11:49 +0000
parents 64eaceca611d
children 34abfb24e891
line wrap: on
line source

##   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.

## Note: This will be appended to the individual module Makefiles by configure.

#define NOT_C_CODE
#include "../../src/config.h"

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@

SRC_SRCS=$(SRCS:%=@srcdir@/%)
OBJS=$(SRCS:.c=.o)

MODCC=@MOD_CC@
MODARCHDIR=@MODARCHDIR@
MAKE_DOCFILE=@MAKE_DOCFILE@
MODCFLAGS=@MODCFLAGS@
INSTALLPATH=@INSTALLPATH@
INSTALL_PROGRAM=@MOD_INSTALL_PROGRAM@
OBJECT_TO_BUILD=@OBJECT_TO_BUILD@
#ifdef HAVE_MS_WINDOWS
IMPORT_LIB=../../src/xemacs-import.a
#endif

.PHONY:	clean distclean install
all: $(OBJECT_TO_BUILD)

.c.o:
	$(MODCC) $(MODCFLAGS) -c $<

$(MODNAME).ell: $(OBJS) $(MODNAME)_i.o $(IMPORT_LIB)
	$(MODCC) --mode=link --mode=verbose --mod-output=$@ \
	$(OBJS) $(MODNAME)_i.o $(IMPORT_LIB) $(LDFLAGS)

$(MODNAME)_i.c: $(SRCS)
	ELLMAKEDOC=$(MAKE_DOCFILE) $(MODCC) --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)