view modules/sample/internal/Makefile.in.in @ 2951:b694dfd2f40e

[xemacs-hg @ 2005-09-26 08:13:00 by ben] Compile Windows with gmp, ldap, postgresql, db, etc. README: Major rewrite. Document how to compile various optional libs. config.inc.samp: Update to recent versions of optional libs. Add support for gmp, db, postgresql, ldap. Turn on optimization when not debug. minitar.c: Include config.h. xemacs.mak: Figure out VC++ version and use it to set debug and browser flags appropriately. Add support for building gmp, db, postgresql, ldap. Rewrite handling of optional stuff so it is all added to single variables OPT_* rather than to various FOO_* variables. Pass -I$(SRC) to minitar.c so it compiles. Pass module sources, not objects, to make-docfile. Delete more stuff in `make clean'.
author ben
date Mon, 26 Sep 2005 08:13:00 +0000
parents 74b2ea269eb5
children 308d34e9f07d
line wrap: on
line source

##   Makefile for the sample module 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 synched with 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.

### Specialize this part for your module
MODNAME=sample
MODVER=0.0.1
MODTITLE="Sample module for XEmacs"
LDFLAGS=@LDFLAGS@ @sample_libs@
SRCS=sample.c

### You should not need to modify anything below this line
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)

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 --mod-output=$@ $(OBJS) $(MODNAME)_i.o $(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

install: $(OBJECT_TO_BUILD)
	$(INSTALL_PROGRAM) $< $(INSTALLPATH)