CC= g++ $(CFLAGS)
CFLAGS= -O3 -g
OS = $(shell uname)
ICONV_FLAGS=
ifeq ($(OS),Darwin)
	ICONV_FLAGS=-liconv
endif
PAPI=-DPAPI -I/usr/local/papi-3.5.0-linux-x86/include -L/usr/local/papi-3.5.0-linux-x86/lib -lpapi
PAPI64=-DPAPI -I/usr/local/papi-3.5.0-linux-x86/include -L/usr/local/papi-3.5.0-linux-x86/lib -lpapi

markup_stats:	markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
		src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
		lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
		src/bitplex.h src/bitplex.c src/xmlmodel.h src/xmlmodel.c\
		src/bytelex.h src/charsets/ASCII_EBCDIC.h
	$(CC) -o markup_stats markup_stats.cxx -march=pentium4 $(PAPI)

markup_stats_64:	markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
		src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
		lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
		src/bytelex.h src/charsets/ASCII_EBCDIC.h
	$(CC) -o markup_stats_64 markup_stats.cxx -march=nocona -m64 $(PAPI64)

markup_stats_omp:	markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
		src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
		lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
		src/bytelex.h src/charsets/ASCII_EBCDIC.h
	g++-4.2 -O3 -lgomp -fopenmp -o markup_stats_omp markup_stats.cxx -march=nocona -m64

markup_stats_g4:	 markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
		src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
		lib/altivec_simd.h src/xmldecl.h src/xmldecl.c\
		src/bytelex.h src/charsets/ASCII_EBCDIC.h
	$(CC) -o markup_stats_g4 markup_stats.cxx -maltivec -faltivec

cc_analyzer_32: cc_analyzer.cxx src/byteplex.h src/multiliteral.h src/engine.h\
		src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
		lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
		src/bytelex.h src/charsets/ASCII_EBCDIC.h
	$(CC) -o cc_analyzer cc_analyzer.cxx -march=pentium4

cc_analyzer_64: cc_analyzer.cxx src/byteplex.h src/multiliteral.h src/engine.h\
		src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
		lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
		src/bytelex.h src/charsets/ASCII_EBCDIC.h
	$(CC) -o cc_analyzer_64 cc_analyzer.cxx -march=nocona -m64

clean:	
	rm -f markup_stats cc_analyzer