view dynodump/Makefile.in.in @ 153:25f70ba0133c r20-3b3

Import from CVS: tag r20-3b3
author cvs
date Mon, 13 Aug 2007 09:38:25 +0200
parents
children 6b37e6ddd302
line wrap: on
line source

/* Hey Emacs, this is a -*- Makefile -*- */

/* Makefile for dynodump subdirectory in XEmacs
   Copyright (C) 1995 Board of Trustees, University of Illinois

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.  */

/* Avoid trouble on systems where the "SHELL" variable might be
   inherited from the environment. */
SHELL = /bin/sh

/* Some people use these in paths they define.  We do not want their paths
   getting changed on them. */
#undef sparc
#undef sun
#undef unix
#undef i386
#undef ppc
#undef sgi

/* ==================== Things "configure" will edit ==================== */

CC=@CC@
CFLAGS=@CFLAGS@
ARCH=@dynodump_arch@

/* Where to find the source code.  This is set by the configure
   "--srcdir" option.  However, the value of ${srcdir} in
   this makefile is not identical to what was specified with --srcdir,
   since the variable here has "/dynodump" added at the end. */
srcdir=@srcdir@

/* ========================= start of cpp stuff ========================= */

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

/* With the traditional VPATH setting, it is not possible to
   simultaneously compile in-place and in another directory.  The
   mistaken definition is that *all* dependencies are searched for in
   the VPATH directory, rather than just the dependencies that are not
   themselves targets.  Thus, if there is an up-to-date .o file in the
   in-place location, it will not get recompiled in the not-in-place
   location.

   The GNU Make "vpath" directive continues this tradition, but at
   least lets you to restrict the classes of files that it applies to.
   This allows us to kludge around the problem. */
#ifdef USE_GNU_MAKE
vpath %.c @srcdir@
vpath %.h @srcdir@
/* now list files that should NOT be searched in the srcdir.
   This includes any .c or .h that is built from something else
   (e.g. a .in file). */
/* none here */
#else
VPATH=@srcdir@
#endif

#ifdef USE_GCC
# define PIC_ARG -fpic
#else
# define PIC_ARG -K pic
#endif

INCLUDES = -I${srcdir} -I${srcdir}/$(ARCH)
ALL_CFLAGS = ${CFLAGS} PIC_ARG ${INCLUDES}
OBJS = _relocate.o dynodump.o syms.o uninit.o

.c.o:
	$(CC) -c $(ALL_CFLAGS) $<

/* If we do not need dynodump, then do nothing. */
#ifdef DYNODUMP
all:: dynodump.so
#else
all::
#endif

dynodump.so: ${srcdir}/_dynodump.h $(OBJS)
	PATH=/usr/ccs/bin:/bin:$$PATH ld -o dynodump.so -G $(OBJS) -lelf -lmapmalloc

_relocate.o: ${srcdir}/$(ARCH)/_relocate.c
	$(CC) -c $(ALL_CFLAGS) ${srcdir}/$(ARCH)/_relocate.c

uninit.o: ${srcdir}/$(ARCH)/uninit.c
	$(CC) -c $(ALL_CFLAGS) ${srcdir}/$(ARCH)/uninit.c

mostlyclean:
	-rm -f *.o \#*

clean: mostlyclean
	-rm -f *.so *.so.1

distclean: clean
	-rm -f Makefile Makefile.in

realclean: distclean
	rm -f TAGS

versionclean:
	true

extraclean: realclean
	-rm -f *~ \#*