view lwlib/Makefile.in @ 28406:451721e784a8

Stop assuming interval pointers and lisp objects can be distinguished by inspection. Beginnings of support for expensive internal consistency checks. * config.in (ENABLE_CHECKING): Undef. * lisp.h (struct interval): Replace "parent" field with a union of interval pointer and Lisp_Object; add new bitfield to use as discriminant. Change other flag fields to bitfields. (CHECK): New macro for consistency checking. If ENABLE_CHECKING is defined and the supplied test fails, print a message and abort. (eassert): New macro. Use CHECK to provide an assert-like facility. * intervals.h (NULL_INTERVAL_P): Now applies only to real interval pointers; abort if the value looks like a lisp object. (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT, SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): Modify for new interval parent definition. * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE, UNMARK_BALANCE_INTERVALS): Update references that need an addressable lisp object in the interval structure. (die): New function. (suppress_checking): New variable. * intervals.c (interval_start_pos): Just return 0 if there's no parent object.
author Ken Raeburn <raeburn@raeburn.org>
date Wed, 29 Mar 2000 22:14:34 +0000
parents 6c4bc75d35fe
children 4205afb9033f
line wrap: on
line source

# This was taken from the output of Imake
# and set up to be configured by ../configure.
# Some parts Copyright (c) 1992, 1993 Lucid, Inc.

srcdir=@srcdir@
VPATH=@srcdir@
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@

CC=@CC@
CFLAGS=@CFLAGS@
CPP=@CPP@
LN_S=@LN_S@
RANLIB=@RANLIB@
# See below--@X_TOOLKIT_TYPE@ is used below.
USE_X_TOOLKIT=@X_TOOLKIT_TYPE@

              TOP = .

               AR = ar cq

               LN = ln -s
               RM = rm -f

     LUCID_OBJS = lwlib-Xlw.o xlwmenu.o lwlib-Xaw.o
     MOTIF_OBJS = lwlib-Xm.o
      OLIT_OBJS = lwlib-Xol.o lwlib-Xolmb.o

TOOLKIT_DEFINES = -DUSE_$(USE_X_TOOLKIT)
   TOOLKIT_OBJS = $(@X_TOOLKIT_TYPE@_OBJS)

           OBJS = lwlib.o $(TOOLKIT_OBJS) lwlib-utils.o

# ../src is needed to find config.h.
ALL_CFLAGS= $(C_SWITCH_SITE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
  $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) $(CPPFLAGS) $(CFLAGS) \
  -DEMACS_BITMAP_FILES -DHAVE_CONFIG_H -Demacs \
  -I. -I../src -I${srcdir} -I${srcdir}/../src

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

all:: liblw.a

liblw.a: $(OBJS)
	$(RM) $@
	$(AR) $@ $(OBJS)
	$(RANLIB) $@

# Depend on Makefile so that we recompile if TOOLKIT_DEFINES changes.
lwlib.o:  $(srcdir)/lwlib.c  Makefile
	$(CC) -c $(TOOLKIT_DEFINES) $(ALL_CFLAGS) $(srcdir)/lwlib.c

xrdb-cpp.o:  $(srcdir)/xrdb-cpp.c
	$(CC) -c "-DCPP_PROGRAM=$(CPP)" $(ALL_CFLAGS) $(srcdir)/xrdb-cpp.c

lwlib-utils.o: lwlib-utils.c lwlib-utils.h
lwlib.o:       lwlib.c lwlib.h lwlib-int.h
lwlib-Xlw.o:   lwlib-Xlw.c lwlib.h lwlib-int.h
lwlib-Xaw.o:   lwlib-Xaw.c lwlib.h lwlib-int.h
lwlib-Xm.o:    lwlib-Xm.c lwlib.h lwlib-int.h lwlib-utils.h
lwlib-Xol.o:   lwlib-Xol.c lwlib.h lwlib-int.h
lwlib-Xolmb.o: lwlib-Xolmb.c lwlib-Xolmb.h lwlib-XolmbP.h
xlwmenu.o: xlwmenu.c xlwmenu.h lwlib.h xlwmenuP.h

mostlyclean:
	$(RM) *.o core errs ,* *~ *.a .emacs_* make.log MakeOut \#*

clean: mostlyclean
distclean: clean
maintainer-clean: distclean

TAGS:
	../lib-src/etags -t *.[ch]
tags: TAGS
.PHONY: tags