CXX= g++ ARGS= -g OPT_ARGS= $(ARGS) -O3 FAST_ARGS= $(OPT_ARGS) -O3 -D"NDEBUG" I686_ARGS= $(FAST_ARGS) -march=i686 SRC= li.h alltogether.cc bf.cc ewok.cc grissom.cc joy.cc li-toolkit.cc lithium4.cc perl.cc targets.cc # Default target 'all' also tests and snaps shot all: kit test_kit snapshot_kit kit: $(SRC) $(CXX) -o kit $(ARGS) alltogether.cc test_kit: : run unit tests ./kit snapshot_kit: : check snapshot into local RCS subdirectory, because Tests Pass -mkdir -p RCS -ci -l -q -t/dev/null -m/dev/null [a-z]*.h [a-z]*.cc Makefile kit_opt: $(SRC) $(CXX) -o kit_opt $(OPT_ARGS) alltogether.cc kit_i686: $(SRC) $(CXX) -o kit_i686 $(I686_ARGS) alltogether.cc .cc.o: $(CXX) -c $(ARGS) $< # Being able to compile modularly keeps us honest, but this is slower. O_MODULES= bf.o ewok.o grissom.o joy.o li-toolkit.o lithium4.o perl.o targets.o kit_modularly: $(SRC) $(O_MODULES) $(CXX) -o kit_modularly $(O_MODULES) clean: rm -f *.o a.out kit kit_opt kit_i686 kit_modularly # case $1 in # # "" ) # set a.out # OPT=' ' # ;; # short) # OPT=' -O3 -march=i686 -DFOR_SHORTNESS ' # ;; # fast) # OPT=' -O3 -DNDEBUG -march=i686 ' # ;; # * ) # echo "BAD: unknown target: $1" >&2 # exit 13 # ;; # esac # # set -x # # g++ -o ./"$1" $OPT $STATIC -g -Wall all.cc && # # run tests # ./"$1" && # # check into RCS # mkdir -p RCS && # ci+ *.h *.cc #