# NOTE: Makefile.in is converted into Makefile by the configure script
# in the parent directory.  Once configure has run, you can recreate
# the Makefile by running just config.status.

# === Variables set by config.stat ===

srcdir=		@srcdir@
VPATH=		@srcdir@

CC=		@CC@
RANLIB=		@RANLIB@
AR=		@AR@

DEFS=		@DEFS@


# === Other things that are customizable but not by configure ===

INCLDIR=	$(srcdir)/../Include
OPT=		@OPT@
CFLAGS=		$(OPT) -I$(INCLDIR) -I.. $(DEFS)

MKDEP=		mkdep
SHELL=		/bin/sh


# === Fixed definitions ===

OBJS=		abstract.o \
		classobject.o cobject.o complexobject.o \
		fileobject.o floatobject.o \
		frameobject.o funcobject.o intobject.o listobject.o \
		longobject.o dictobject.o methodobject.o \
		moduleobject.o object.o rangeobject.o \
		sliceobject.o stringobject.o \
		tupleobject.o typeobject.o

SRCS=		abstract.c \
		classobject.c cobject.c complexobject.c \
		fileobject.c floatobject.c \
		frameobject.c funcobject.c intobject.c listobject.c \
		longobject.c dictobject.c methodobject.c \
		moduleobject.c object.c rangeobject.c \
		sliceobject.c stringobject.c \
		tupleobject.c typeobject.c

LIB=		libObjects.a


# === Rules ===

all:		$(LIB)

$(LIB):		$& $(OBJS)
		-rm -f $(LIB)
		$(AR) cr $(LIB) $(OBJS)
		$(RANLIB) $(LIB)

clean:
		-rm -f *.o core *~ [@,#]* *.old *.orig *.rej

clobber:	clean
		-rm -f *.a tags TAGS

Makefile:	$(srcdir)/Makefile.in ../config.status
		(cd ..; CONFIG_FILES=Objects/Makefile CONFIG_HEADERS= \
		$(SHELL) config.status)

depend:
		$(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
					sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`

.PRECIOUS:	Makefile

abstract.o: abstract.c
classobject.o: classobject.c
cobject.o: cobject.c
complexobject.o: complexobject.c
fileobject.o: fileobject.c
floatobject.o: floatobject.c
frameobject.o: frameobject.c
funcobject.o: funcobject.c
intobject.o: intobject.c
listobject.o: listobject.c
longobject.o: longobject.c
dictobject.o: dictobject.c
methodobject.o: methodobject.c
moduleobject.o: moduleobject.c
object.o: object.c
rangeobject.o: rangeobject.c
sliceobject.o: sliceobject.c
stringobject.o: stringobject.c
tupleobject.o: tupleobject.c
typeobject.o: typeobject.c

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
