SHELL=/bin/sh


what:
		@echo "what do you want to make?"

##################################################################
#
# Configuration.
#

#
# Configure the code for a specific system.
#

Configure:
		cd config/unix/$(name);	make 

#
# Check to see what systems have configuration information.
#

Configurations:
		@echo "There is configuration information for the following systems:"
		@echo ""
		@cd config/unix;		ls -d [a-z]*

#
# Get the status information for a specific system.
#

Status:
		@cat config/unix/$(name)/status

#
# Build a prototype configuration for a new system
#.

System:
		mkdir config/unix/$(name)
		cp config/unix/Common/* config/unix/$(name)

##################################################################
#
# Compilation and installation.
#

#
# Check the size of the header file for iconx.
#

Header:
		@cd src/icont;		touch ixhdr.c; make iconx.hdr; \
				  	   ls -l iconx.hdr
		@grep MaxHdr src/h/define.h

#
# Compile Icon.
#

Icon:
		cd src;			make

#
# Install Icon.
#

Install:
		sh Copybin

##################################################################
#
# Construction of auxiliary components.
#

#
# Icon program library.
#

Ipl:
		cd ipl;			make

#
# Personalized interpreter system.
#

PI:
		cd pi;			make

#
# Variant translator system.
#

VT:
		@echo "make VT is no longer needed"

##################################################################
#
# Tests.
#

#
# Some simple tests to be sure Icon works.
#

Samples:
		cd samples;		make Samples

#
# More exhaustive tests of various features of Icon and larger programs.
#

#
# Some fairly simple programs. Should show now differences.
#

Test-icon:
		cd tests;		make Test-icon

#
# Rather exhaustive tests of specific expressions. Should not show
# much in the way of differences, except maybe order of random
# numbers, sort stability, and floating-point format.

Test-expr:
		cd tests;		make Test-expr

#
# This group contains various tests that are sure to show differences,
# including date, time, host, and storage configuration.

Test-check:
		cd tests;		make Test-check

#
# These tests are left over from when some features of Icon produced
# different results depending on the size of ints. Should now show no
# differences.

Test-model:
		cd tests;		make Test-model

# These tests are designed to do a lot of computation. Should show no
# differences.

Test-work:
		cd tests;		make Test-work

#
# More larger tests. Should show no differences.
#

Test-extra:
		cd tests;		make Test-extra

#
# Tests of new features in Version 7. Should show no differences except
# possibly due to stable/unstable sorts.

Test-version7:
		cd tests;		make Test-version7

#
# Tests of storage management and garbage collection. Should not show
# differences.

Test-gc:
		cd tests;		make Test-gc

#
# Test to see if co-expressions are implemented.
#

Test-cotest:
		cd tests;		make Test-cotest

#
# Tests of co-expressions. Should not show differences if co-expressions
# are implemented.
#

Test-coexpr:
		cd tests;		make Test-coexpr

#
# Tests of arithmetic overflow checking. Should not show differences if
# overflow checking is implemented. Note it is common to have checking
# for addition/subtraction but not multiplication.
#

Test-over:
		cd tests;		make Test-over

#
# Test of executable images in 4.nbsd systems. Should not show
# differences if this feature is implemented.
#

Test-save:
		cd tests;		make Test-save

#
# All the "standard" tests, omitting optional features that may
# not be implemented.
#

Test-all:
		cd tests;		make Test-all

#
# The rest of the tests check other components of the Icon system.
#

#
# Test the Icon program library.
#

Test-ipl:
		cd ipl;			make Test-ipl

#
# Test the Icon personalized interpreter system.
#

Test-pi:
		cd pi;			make Test-pi

#
# Test the Icon variant translator system.
#

Test-vt:
		cd vt;			make Test-vt

##################################################################
#
# Clean-up.
#

Clean:
		cd src;			make Clean
		cd samples;		make Clean
		cd tests;		make Clean
		-cd pi;			make Clean
		-cd vt;			make Clean

##################################################################
