# Makefile for the Evensteven Problem # # File: Makefile # Date: Sun Oct 18 22:07:22 EDT 2009 # # See demonstration Makefile for documentation. # # The program for this problem is named: P = evensteven .SUFFIXES: .SUFFIXES: .c .cc .java .lsp default: $P.out .c: rm -f $* core core.[0-9]* gcc -g -o $* $*.c -lm .cc: rm -f $* core core.[0-9]* g++ -g -o $* $*.cc -lm .java: rm -f $* *.class core core.[0-9]* javac -g $*.java echo >$* '#!/bin/sh' echo >>$* "exec `which java` $* \$$*" chmod a+r *.class chmod a+rx $* # .lsp: rm -f $* $*.fas $*.lib core core.[0-9]* hpcm_clisp -c $*.lsp echo >$* '#!/bin/sh' echo >>$* \ "exec `hpcm_clisp -which` -I $*.fas \$$*" chmod a+r $*.fas chmod a+rx $* # Contestant's monitor, without debugging info. # dealer: evensteven.cc g++ -DDEALER -o dealer evensteven.cc -lm chmod a+x . dealer # Judge's monitor with debugging info. # judges_dealer: evensteven.cc g++ -g -o judges_dealer \ -DJUDGES_DEALER evensteven.cc -lm chmod a+x . judges_dealer dealer_from_judges_dealer: judges_dealer rm -f dealer ln -s judges_dealer dealer # For testing purposes we need to make a judges_dealer # if the file needed to make it exists. # $P.out: $P $P.in @if test -r evensteven.cc && \ grep -q JUDGES_DEALER evensteven.cc; \ then \ make --no-print-directory \ dealer_from_judges_dealer; \ fi rm -f $P.out core core.[0-9]* chmod a+x . $P hpcm_sandbox -cputime 60 \ -datasize 4m \ -stacksize 4m \ -filesize 50k \ -tee $P.out \ dealer $P \ <$P.in $P.debug: $P $P.in @if test -r evensteven.cc && \ grep -q JUDGES_DEALER evensteven.cc; \ then \ make --no-print-directory \ dealer_from_judges_dealer; \ fi rm -f $P.debug core core.[0-9]* chmod a+x . $P hpcm_sandbox -cputime 60 \ -datasize 4m \ -stacksize 4m \ -filesize 4m \ -tee $P.debug \ dealer $P debug \ <$P.in debug: $P.debug submit: $P.out hpcm_submit $P in-submit: $P.out hpcm_submit -in $P inout-submit: $P.out hpcm_submit -inout $P solution-submit: $P.out hpcm_submit -solution $P # We must not remove monitor from the contestant's # directory which has no evensteven.cc to remake it. # clean: rm -f $P *.class core core.[0-9]* \ *.out *.debug *.fout *.jout *.jfout \ $P.fas $P.lib make_$P_*input @if test -r evensteven.cc && \ grep -q JUDGES_DEALER evensteven.cc; \ then echo rm -f dealer judges_dealer; \ rm -f dealer judges_dealer; fi # # Author: walton@deas.harvard.edu # # The authors have placed this file in the public # domain; they make no warranty and accept no liability # for this file. # # RCS Info (may not be true date or author): # # $Author: hc3-judge $ # $Date: 2009/10/19 02:07:36 $ # $RCSfile: Makefile,v $ # $Revision: 1.6 $