

CC_FLAGS= $(CFLAGS)
LD_LIBS= $(LDLIBS)

#
# Default Makefile Rules
#

install :: all

clean ::
	rm -f Makefile.full

#
# Makefile Rules
#



CC_FLAGS=$(CFLAGS) $(SYS_ERR) -DINST_DIR='"$(INST_DIR)"'
CC_OPT= -g

YACC_FLAGS= -d


MODS=mod_std.o mod_msql.o
EXTRA_LIBS= ../timelib/libtime.a


all: parser.o symtab.o types.o code-gen.o code-sim.o extern.o fcrypt.o mod_std.o mod_msql.o lib.o


parser.c : parser.y
	@echo ""
	$(YACC) $(YACC_FLAGS) parser.y
	mv y.tab.c parser.c

parser.o : parser.c
	$(CC) $(CC_FLAGS) -c parser.c

clean ::
	rm -f parser.c y.tab.*


#!object symtab.o symtab.c
#!object types.o types.c
#!object code-gen.o code-gen.c
#!object code-sim.o code-sim.c
#!object extern.o extern.c
#!object fcrypt.o fcrypt.c
#!object lib.o lib.c

# Make rules for building mod_std.o

mod_std.o : mod_std.c Makefile.full 
	$(CC) $(CC_FLAGS) -c mod_std.c

clean ::
	rm -f mod_std.o mod_std.lint


# Make rules for building mod_msql.o

mod_msql.o : mod_msql.c Makefile.full 
	$(CC) $(CC_FLAGS) -c mod_msql.c

clean ::
	rm -f mod_msql.o mod_msql.lint


symtab.o : symtab.c Makefile.full
	$(CC) $(CC_FLAGS) -c symtab.c

clean ::
	rm -f symtab.o

types.o : types.c Makefile.full
	$(CC) $(CC_FLAGS) -c types.c

clean ::
	rm -f types.o

code-gen.o : code-gen.c Makefile.full
	$(CC) $(CC_FLAGS) -c code-gen.c

clean ::
	rm -f code-gen.o

code-sim.o : code-sim.c Makefile.full
	$(CC) $(CC_FLAGS) -c code-sim.c

clean ::
	rm -f code-sim.o

extern.o : extern.c Makefile.full
	$(CC) $(CC_FLAGS) -c extern.c

clean ::
	rm -f extern.o

fcrypt.o : fcrypt.c Makefile.full
	$(CC) $(CC_FLAGS) -c fcrypt.c

clean ::
	rm -f fcrypt.o

lib.o : lib.c Makefile.full
	$(CC) $(CC_FLAGS) -c lib.c

clean ::
	rm -f lib.o

all : liblite.a

liblite.a : parser.o symtab.o types.o code-gen.o code-sim.o extern.o fcrypt.o lib.o Makefile.full
	ar rc liblite.a parser.o symtab.o types.o code-gen.o code-sim.o extern.o fcrypt.o lib.o
	ranlib liblite.a

clean :: 
	rm -f liblite.a


install ::
	if test -f $(INST_DIR)/lib/liblite.a;\
	then\
		rm -f $(INST_DIR)/lib/liblite.a.old;\
		mv $(INST_DIR)/lib/liblite.a $(INST_DIR)/lib/liblite.a.old;\
	fi;\
	cp liblite.a $(INST_DIR)/lib/liblite.a
	ranlib $(INST_DIR)/lib/liblite.a
	chmod 744 $(INST_DIR)/lib/liblite.a

install ::
	if test -f $(INST_DIR)/lib/mod_std.o;\
	then\
		rm -f $(INST_DIR)/lib/mod_std.o.old;\
		mv $(INST_DIR)/lib/mod_std.o $(INST_DIR)/lib/mod_std.o.old;\
	fi;\
	cp mod_std.o $(INST_DIR)/lib/mod_std.o
	chmod 744 $(INST_DIR)/lib/mod_std.o

install ::
	if test -f $(INST_DIR)/lib/mod_msql.o;\
	then\
		rm -f $(INST_DIR)/lib/mod_msql.o.old;\
		mv $(INST_DIR)/lib/mod_msql.o $(INST_DIR)/lib/mod_msql.o.old;\
	fi;\
	cp mod_msql.o $(INST_DIR)/lib/mod_msql.o
	chmod 744 $(INST_DIR)/lib/mod_msql.o

install ::
	if test -f $(INST_DIR)/include/mod_std.h;\
	then\
		rm -f $(INST_DIR)/include/mod_std.h.old;\
		mv $(INST_DIR)/include/mod_std.h $(INST_DIR)/include/mod_std.h.old;\
	fi;\
	cp mod_std.h $(INST_DIR)/include/mod_std.h
	chmod 744 $(INST_DIR)/include/mod_std.h

install ::
	if test -f $(INST_DIR)/include/mod_msql.h;\
	then\
		rm -f $(INST_DIR)/include/mod_msql.h.old;\
		mv $(INST_DIR)/include/mod_msql.h $(INST_DIR)/include/mod_msql.h.old;\
	fi;\
	cp mod_msql.h $(INST_DIR)/include/mod_msql.h
	chmod 744 $(INST_DIR)/include/mod_msql.h

install ::
	if test -f $(INST_DIR)/include/lite.h;\
	then\
		rm -f $(INST_DIR)/include/lite.h.old;\
		mv $(INST_DIR)/include/lite.h $(INST_DIR)/include/lite.h.old;\
	fi;\
	cp lite.h $(INST_DIR)/include/lite.h
	chmod 744 $(INST_DIR)/include/lite.h



#
# Debugging compilations
#
# Note : if you want to build lextest and you are using the GNU cpp (for
# example, you are using gcc to compile this code) you'll have to put
# -traditional in the compilation line below.  If you don't, you'll get
# some ANSI cpp garbage that doesn't let you expand a macro param within
# quotes.  In this case you'll get a line of 'x' characters down the left
# side of the screen when you run lextest.
#

lextest: lexer.c
	$(CC) $(CFLAGS) -DLEX_DEBUG -DNOTDEF -g -o lextest lexer.c

lite_lextest: lite_lex.c
	$(CC) $(CFLAGS) -DLEX_DEBUG -DNOTDEF -g -o lite_lextest lite_lex.c


mod_std.o: lite.h ../common/portability.h ../common/config.h 
mod_std.o: ../msql/msql.h ../regexp/regexp.h

mode_msql.o: lite.h ../common/portability.h ../common/config.h 
mode_msql.o: ../msql/msql.h ../regexp/regexp.h

types.o: Memory.h code-gen.h mod_msql.h mod_std.h types.h
types.o: version.h lite.h y.tab.h
types.o: lite.h ../common/portability.h ../common/config.h 

code-gen.o: Memory.h code-gen.h mod_msql.h mod_std.h types.h
code-gen.o: version.h lite.h y.tab.h
code-gen.o: lite.h ../common/portability.h ../common/config.h 

code-sim.o: Memory.h code-gen.h mod_msql.h mod_std.h types.h
code-sim.o: version.h lite.h y.tab.h
code-sim.o: lite.h ../common/portability.h ../common/config.h 

extern.o: Memory.h code-gen.h mod_msql.h mod_std.h types.h
extern.o: version.h lite.h y.tab.h
extern.o: lite.h ../common/portability.h ../common/config.h 

fcrypt.o: Memory.h code-gen.h mod_msql.h mod_std.h types.h
fcrypt.o: version.h lite.h y.tab.h
fcrypt.o: lite.h ../common/portability.h ../common/config.h 


