# Windows Makefile, VC++ 5.0 and 6.0.
.SUFFIXES: .obj .c .C
OBJECTS=token.obj lex.obj main.obj scanner.obj resultsdb.obj vulndb.obj handlers.obj \
 formatter.obj config.obj query.obj fatal.obj dict.obj strutils.obj dbparser.obj strpool.obj getopt.obj getopt1.obj

CC=cl
PROGNAME=its4.exe
INSTALL_DATADIR=c:/its4

all:  $(OBJECTS)
	$(CC) /Fe$(PROGNAME) $(OBJECTS)

pure: $(OBJECTS)
	purify 	$(CC) Fe$(PROGNAME) $(OBJECTS)

.C.obj:
	$(CC)  /TP /DUSE_ANSI -c -DVCPP -DDATA_DIR=$(INSTALL_DATADIR) $(EXTRA_FLAGS) $<

getopt.obj : getopt.c getopt.h
	$(CC) -c -D__STDC__ getopt.c

getopt1.obj: getopt1.c getopt.h
	$(CC) -c -D__STDC__ getopt1.c

remake: clean all

clean:
	-del *.obj
	-del $(PROGNAME)

spotless: clean

install:
	$(INSTALL) -d $(INSTALL_BINDIR)
	$(INSTALL) $(PROGNAME) $(INSTALL_BINDIR) 
	$(INSTALL) -d $(INSTALL_DATADIR)
	$(INSTALL) vulns.i4d $(INSTALL_DATADIR)
	$(INSTALL) -d $(INSTALL_MANDIR)/man1
	$(INSTALL) docs/its4.1 $(INSTALL_MANDIR)/man1/
	echo "Installation complete."

# Dependencies generated by g++ -M *.C | dependstrip >> Makefile.in
config.obj:  config.C config.H vulninfo.H formatter.H vulndb.H dict.H fatal.H query.H strpool.H
dbparser.obj:  dbparser.C config.H vulninfo.H token.H fatal.H vulndb.H dict.H strpool.H
dict.obj:  dict.C dict.H fatal.H
fatal.obj:  fatal.C config.H vulninfo.H
formatter.obj:  formatter.C resultsdb.H vulninfo.H vulndb.H dict.H fatal.H config.H query.H strutils.H strpool.H
handlers.obj:  handlers.C lex.H token.H fatal.H handlers.H vulndb.H vulninfo.H dict.H toctou.H resultsdb.H config.H strpool.H
lex.obj:  lex.C lex.H token.H fatal.H config.H vulninfo.H
main.obj:  main.C resultsdb.H vulninfo.H scanner.H lex.H token.H fatal.H vulndb.H dict.H handlers.H toctou.H formatter.H config.H strpool.H
query.obj:  query.C query.H fatal.H
resultsdb.obj:  resultsdb.C resultsdb.H vulninfo.H fatal.H
scanner.obj:  scanner.C config.H vulninfo.H scanner.H lex.H token.H fatal.H vulndb.H dict.H handlers.H toctou.H
strpool.obj:  strpool.C fatal.H
strutils.obj:  strutils.C config.H vulninfo.H fatal.H
token.obj:  token.C token.H fatal.H
vulndb.obj:  vulndb.C dbparser.H token.H fatal.H lex.H config.H vulninfo.H vulndb.H dict.H strutils.H
