# Makefile for jam
CCsol = /opt/SUNWspro/bin/cc
CCaix = xlc
CChp  = cc
CCwin = cl

aix:	
	chmod +x yyacc
	./yyacc jamgram.y jamgramtab.h jamgram.yy

	$(CCaix) -o mkjambase mkjambase.c
	./mkjambase jambase.c Jambase

	$(CCaix) -o jam0 -O2 -qmaxmem=-1 \
		fileunix.c pathunix.c execunix.c \
		builtins.c command.c compile.c expand.c glob.c hash.c \
		headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
		newstr.c option.c parse.c regexp.c \
		rules.c scan.c search.c timestamp.c variable.c
	./jam0 -dx


hp:	
	chmod +x yyacc
	./yyacc jamgram.y jamgramtab.h jamgram.yy

	$(CChp) -o mkjambase mkjambase.c
	./mkjambase jambase.c Jambase

	$(CChp) -o jam0 -O \
		fileunix.c pathunix.c execunix.c \
		builtins.c command.c compile.c expand.c glob.c hash.c \
		headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
		newstr.c option.c parse.c regexp.c \
		rules.c scan.c search.c timestamp.c variable.c
	./jam0 -dx

sol:	
	chmod +x yyacc
	./yyacc jamgram.y jamgramtab.h jamgram.yy

	$(CCsol) -o mkjambase mkjambase.c
	./mkjambase jambase.c Jambase

	$(CCsol) -o jam0 -O \
		fileunix.c pathunix.c execunix.c \
		builtins.c command.c compile.c expand.c glob.c hash.c \
		headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
		newstr.c option.c parse.c regexp.c \
		rules.c scan.c search.c timestamp.c variable.c
	./jam0 -dx

win:
	$(CCwin) /nologo -o mkjambase mkjambase.c
	mkjambase jambase.c Jambase
	$(CCwin) /nologo -DNT -I $(MSVCDIR)/include -I ./ /Fejam0 \
		filent.c pathunix.c execunix.c \
		builtins.c  command.c compile.c expand.c glob.c hash.c \
		headers.c hcache.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
		newstr.c option.c parse.c regexp.c \
		rules.c scan.c search.c timestamp.c variable.c \
		$(MSVCNT)/lib/oldnames.lib $(MSVCNT)/lib/kernel32.lib $(MSVCNT)/lib/libc.lib
	jam0.exe -dx


vc_tk:
	cl /nologo -DNT -I $(INCLUDE) /Fejam0 \
		filent.c pathunix.c execunix.c \
		builtins.c  command.c compile.c expand.c glob.c hash.c \
		headers.c hcache.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
		newstr.c option.c parse.c regexp.c \
		rules.c scan.c search.c timestamp.c variable.c \
		oldnames.lib kernel32.lib libc.lib
	jam0.exe -dx

jamgram:
	chmod +x yyacc
	./yyacc jamgram.y jamgramtab.h jamgram.yy

mkjambase:
	cc -o mkjambase mkjambase.c
	mkjambase jambase.c Jambase

clean:
	del /f/q *.obj jam0.exe jam.exe
	rm  -f   *.obj jam0.exe jam.exe