# Adsmith make file
# 
# targets:
#  s: source - adsmd, libadsm.a, adsm.h
#  e: examples
#
# Before compiling, make sure "aimk" is in the search path
#
# Options:
#   -g : to be debugged by gdb
#   -O or -O2 or -O3 : optimize (for g++)
#
# Defines:
#   ADSMDEBUG: run-time error checking
#   ADSMCTRL: enable internal system controls for development
#   ADSMEXPR: enable experiment features
#

CC	= g++
#OPTFLAG = -g -Wall
OPTFLAG = -O2
#DEFINES = -DADSMDEBUG
#DEFINES = -DADSMDEBUG -DADSMCTRL -DADSMEXPR
#DEFINES = -DADSMCTRL -DADSMEXPR
#DEFINES = -DADSMCTRL

all:	s e

redo:		clean all

clean:	
	@cd src; aimk clean
	@cd examples; aimk clean

s:
	@cd src; \
	CC="$(CC)"; \
	OPTFLAG="$(OPTFLAG)"; \
	DEFINES="$(DEFINES)"; \
	export CC OPTFLAG DEFINES; \
	aimk

e:
	@cd examples; \
	CC="$(CC)"; \
	OPTFLAG="$(OPTFLAG)"; \
	export CC OPTFLAG; \
	aimk
