head	1.1;
access;
symbols;
locks
	gtoal:1.1; strict;
comment	@# @;


1.1
date	2022.06.23.20.36.29;	author gtoal;	state Exp;
branches;
next	;


desc
@Makefile
@


1.1
log
@Initial revision
@
text
@# This release of the imptoc transpiler does not include the ancilliary software
# required to build the parser tables from the grammar file, so for now do *not*
# make changes to the grammar!

GCC_OPTS_COMMON = -pg -Wunused-result -Wno-div-by-zero 
GCC_OPTS_WARN   = -Wall -Wno-misleading-indentation -Wno-comment -Wno-unused-variable -Wno-unused-but-set-variable -Wno-return-type 
GCC_OPTS_FAST   = ${GCC_OPTS_COMMON} -Ofast -DNDEBUG 
GCC_OPTS_SAFE   = ${GCC_OPTS_COMMON} ${GCC_OPTS_WARN} -g3 

all: imps
	echo All up to date.

imps: compile.h lex.h parser.h regexp-lexer.h symtab.h symtab_priv.h \
      compile.c lex.c parser.c regexp-lexer.c symtab.c \
      datatypes.h \
      show_ast.c ast_to_str.c \
      expressions.c flowcontrol.c \
      lang.c 
	cc -o imps-opt $(GCC_OPTS_SAFE) parser.c
	cc -o imps     $(GCC_OPTS_FAST) parser.c

clean:
	rm -f *~ imps imps-opt bin/*~  bin/#*# gmon.out imps.profile

test: imps
	echo > regression.log
	./bin/regression-test tests/basic 2>&1 | tee -a regression.log
	./bin/regression-test tests/rebuild -np 2>&1 | tee -a regression.log
	./bin/regression-test tests/single 2>&1 | tee -a regression.log
	./bin/regression-test tests/validation-suite 2>&1 | tee -a regression.log
	./bin/regression-test tests/new-tests 2>&1 | tee -a regression.log
	./bin/regression-test tests/old-tests 2>&1 | tee -a regression.log
	./bin/regression-test tests/imptoc 2>&1 | tee -a regression.log
	./bin/regression-test tests/imp2021 2>&1 | tee -a regression.log
	./bin/regression-test tests/imptests 2>&1 | tee -a regression.log
	./bin/regression-test tests/imp80 2>&1 | tee -a regression.log
	./bin/regression-test tests/i77 2>&1 | tee -a regression.log
	./bin/regression-test tests/imp68k 2>&1 | tee -a regression.log
	( ecce regression.log --command "(v/? /k,m)0m-0(rm,k)0m-0(v/created at/k,m)0m-0(v/C_/k,m)0m-0(v/Type of/k,m)0m-0(v=// COMMENT=k,m)0m-0(v=Backtracking=k,m)0;%c"  2>&1 ) > /dev/null
	echo more regression.log

upload: clean
	rm -f ../imptoc.tar ./imptoc.tar ../imptoc.tgz ./imptoc.tgz
	tar -czf ../imptoc.tgz .
	mv ../imptoc.tgz .
	scp imptoc.html imptoc.tgz gtoal@@gtoal.com:gtoal.com/compilers101/new-imp-to-c/
	ssh gtoal@@gtoal.com "( cd gtoal.com/compilers101/new-imp-to-c; tar -xzf imptoc.tgz )"
@
