# Conducted by: # Jyrki Katajainen # Department of Computing # University of Copenhagen # DK-2100 Copenehagen East, Denmark # e-mail: jyrki@di.ku.dk # Version: 1.0 # January - February 1999 ############################################################################### # Here are the ways how you could use this description file. # Remove all useless files from your file directory. # make clean # make veryclean # Compile the multiplication programs. # Defaults: DEBUG = 1, SCHOOL = 1, where 1 means "on" and 0 "off". DEBUG = 1 SCHOOL = 1 # make drive # make drive DEBUG=0 # make drive DEBUG=0 SCHOOL=0 # etc. # Carry out an experiment. # Defaults: = 100, = 3, = 1 # drive [] [] [] # Carry out a series of experiments to procude a plot. # Default: the plot is produced to the file "multiplication.ps" # make plot # To use these descriptions you have to write the missing # subroutines in the C++ source file "integer.cc", and copy # the remaining files from the Datalogi-2P home directory: # /vol/www/undervisning/1del/dat2p-algoritmik # The files operated by the descriptions are: driver_source = driver.cc word_source = word.cc integer_source = integer.cc driver_object = driver.o word_object = word.o integer_object = integer.o executable = drive plot_control = multiplication.gp shell_script = multiplication.sh plot_data = school.data divide_and_conquer.data check_files = schoolXXX.check divide_and_conquerXXX.check ps_plot = multiplication.ps CC = g++ CFLAGS = -O4 -fguiding-decls programs = drive plot: multiplication.ps word.o: $(word_source) $(CC) -c -o $(word_object) $(CFLAGS) $(word_source) integer.o: $(integer_source) $(CC) -c -o $(integer_object) $(CFLAGS) $(integer_source) driver.o: $(driver_source) $(CC) -c -o $(driver_object) -DDEBUG=$(DEBUG) -DSCHOOL=$(SCHOOL) \ $(CFLAGS) $(driver_source) drive: $(driver_object) $(word_object) $(integer_object) $(CC) -o $(executable) $(CFLAGS) $(driver_object) school.data: $(shell_script) $(CC) -o $(executable) -DDEBUG=0 -DSCHOOL=1 $(CFLAGS) $(driver_source) $(shell_script) > school.data 2>/dev/null divide_and_conquer.data: $(shell_script) $(CC) -o $(executable) -DDEBUG=0 -DSCHOOL=0 $(CFLAGS) $(driver_source) $(shell_script) > divide_and_conquer.data 2>/dev/null multiplication.ps: $(plot_control) $(plot_data) gnuplot $(plot_control) clean: rm -f core a.out *.o $(programs) *.check *.data \ *.dvi *.log *.aux 2>/dev/null veryclean: clean rm -f *.ps *~ *.*~ 2>/dev/null