############################################################
#
#	Pygmalion nc common routines
#
############################################################
#
# @(#) $Header$
#
# $Log$
#
############################################################
#
# Definitions
#
############################################################

NCSRCS =  alloc.c built_in_fn.c jload.c jsave.c output_font.c \
        pattern.c readfont.c shownet.c util.c
NCOBJS =  alloc.o built_in_fn.o jload.o jsave.o output_font.o \
        pattern.o readfont.o shownet.o util.o \
	parse.o scan.o

PGMSRCS	= pgmrc.c
PGMOBJS	= pgmrc.o

LDFLAGS		= $(LDOPTIONS)
HEADERS		= ../../h
CFLAGS		= $(CCOPTIONS) -DDEBUG
# -DDEBUG		Various trace messages
# -DDEBUG_EXEC		Print rule names and iteration counts in EXEC
# -DDEBUG_EXEC_R	Various other progress messages sexec_r, pexec_r, rand_exec
# -DDEBUG_JALLOC	Prints accumulating memory usage in jalloc()
# -DDEBUG_PATTERN	Progress messages in pattern handling
# -DDEBUG_PROGRESS	Pattern messages re-routed to file ~/pgm_progress

############################################################
#
# Building Rules
#
############################################################

default:	${LIBNC} ${LIBPGM} pgmrc

${LIBNC}:	$(NCOBJS)
		$(AR) $(ARFLAGS) ${LIBNC} $?
		$(RANLIB) $@

${LIBPGM}:	$(PGMOBJS)
		$(AR) $(ARFLAGS) ${LIBPGM} $?
		$(RANLIB) $@

parse.o:	y.tab.c $(HEADERS)/fontdefs.h
		$(CC) $(CFLAGS) -c y.tab.c
		mv y.tab.o parse.o

y.tab.c:	parse.y
		yacc -d parse.y

y.tab.h:	parse.y

scan.o:		$(HEADERS)/fontdefs.h y.tab.h scan.l
		lex scan.l
		$(CC) $(CFLAGS) -c lex.yy.c
		mv lex.yy.o scan.o

pgmrc:		xpgmrc.o
		${CC} xpgmrc.o built_in_fn.o util.o ${LDFLAGS} -o pgmrc

xpgmrc.o:	pgmrc.c
		cp pgmrc.c xpgmrc.c
		${CC} ${CFLAGS} -DINCLUDE_MAIN -c xpgmrc.c
#		rm xpgmrc.c

clean:		tidy
		rm -f $(NCOBJS) $(PGMOBJS) y.tab.c y.tab.h lex.yy.c xpgmrc.o xpgmrc.c pgmrc

tidy:
		rm -f core a.out *.old *.BAK *.bak \#*

define:
		$(DEFINE) Makefile

depend:
		$(DEPEND) -I$(HEADERS) $(NCSRCS) $(PGMSRCS)

install:	install-dir install-files

install-dir:	$(PYGBIN)

install-files:	$(PYGBIN)/pgmrc

$(PYGBIN)/pgmrc:	pgmrc
			cp pgmrc $@
			-$(CHMOD) 755 $@

############################################################
#
# End of Building Rules
#
############################################################
# DO NOT DELETE THIS LINE MAKE DEPEND NEEDS IT
# Dependencies follow
alloc.o: alloc.c
alloc.o: ../../h/pygmalion.h
alloc.o: ../../h/sysdef.h
alloc.o: ../../h/supdef.h
built_in_fn.o: built_in_fn.c
built_in_fn.o: ../../h/pygmalion.h
built_in_fn.o: ../../h/sysdef.h
built_in_fn.o: ../../h/supdef.h
jload.o: jload.c
jload.o: ../../h/pygmalion.h
jload.o: ../../h/sysdef.h
jload.o: ../../h/supdef.h
jload.o: ../../h/util.h
jload.o: ../../h/pgmrc.h
jsave.o: jsave.c
jsave.o: ../../h/pygmalion.h
jsave.o: ../../h/sysdef.h
jsave.o: ../../h/supdef.h
jsave.o: ../../h/pgmrc.h
output_font.o: output_font.c
output_font.o: ../../h/fontdefs.h
pattern.o: pattern.c
pattern.o: ../../h/pygmalion.h
pattern.o: ../../h/sysdef.h
pattern.o: ../../h/supdef.h
pattern.o: ../../h/util.h
pattern.o: ../../h/fontdefs.h
pattern.o: ../../h/pgmrc.h
readfont.o: readfont.c
readfont.o: ../../h/pygmalion.h
readfont.o: ../../h/fontdefs.h
shownet.o: shownet.c
shownet.o: ../../h/pygmalion.h
shownet.o: ../../h/sysdef.h
shownet.o: ../../h/supdef.h
shownet.o: ../../h/built_in_fn.h
util.o: util.c
util.o: ../../h/pygmalion.h
util.o: ../../h/sysdef.h
util.o: ../../h/supdef.h
pgmrc.o: pgmrc.c
pgmrc.o: ../../h/pygmalion.h
pgmrc.o: ../../h/sysdef.h
pgmrc.o: ../../h/supdef.h
pgmrc.o: ../../h/pgmrc.h

# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
