
CHOST=i686-pc-linux-gnu
CFLAGS=-march=pentium-m -O3 -pipe -fomit-frame-pointer --std=c99 -Wall -g
CC=gcc
#DCC=gcc
DCC=diet gcc

all: dna2bin dna2rna rna2ppm rna2ppmani strings

dna2rna: dna2rna.c string.h timer.h
	$(DCC) $(CFLAGS) dna2rna.c -o dna2rna -O3
#	strip dna2rna
	[ -L ../dna2rna ] || cp dna2rna ../

strings: strings.c
	$(DCC) $(CFLAGS) strings.c -o strings -O3
#	strip strings

dna2bin: dna2bin.c
	$(DCC) $(CFLAGS) dna2bin.c -o dna2bin -O3
	strip dna2bin
	[ -L ../dna2bin ] || cp dna2bin ../

rna2ppm: rna2ppm.c
	$(CC) $(CFLAGS) rna2ppm.c -o rna2ppm -O3
#	strip rna2ppm
	[ -L ../rna2ppm ] || cp rna2ppm ../

rna2ppmani: rna2ppmani.c
	$(CC) $(CFLAGS) rna2ppmani.c -lglut -lGLU -lGL -lX11 -lXmu -o rna2ppmani -O3 -pthread
	strip rna2ppmani
	[ -L ../rna2ppmani ] || cp rna2ppmani ../

rna2ppm.c: rna2ppm.l
	flex -o rna2ppm.c rna2ppm.l

rna2ppmani.c: rna2ppmani.l
	flex -o rna2ppmani.c rna2ppmani.l

.PHONY: clean
clean:
	rm -f dna2rna strings dna2bin rna2ppm rna2ppm.c selftest.result selftest.ppm

.PHONY: test
test: dna2rna rna2ppm
	time ./dna2rna < ../task/selftest.dna > selftest.result
#	time ./dna2rna < ../task/endo.dna > endo.result
	time ./rna2ppm < selftest.result > selftest.ppm
	display selftest.ppm
#	time ../genfuun/genfuun selftest.png < selftest.result
#	display selftest.png
