VPATH = /home/mfrank/mfrank/projects/05-08-10/try3/ece511/apps/gcc
XTOOLS_DIR = /home/mfrank/polyflow-tools/
all: mipsver

STEMS = $(patsubst %.f,%, $(patsubst %.c,%, $(SOURCES)))
OBJS = $(patsubst %,%.o,$(STEMS))
SPLITOBJS = $(patsubst %,%.split.o,$(STEMS))

SOURCES = c-parse.c c-lang.c c-lex.c c-pragma.c c-decl.c \
	    c-typeck.c c-convert.c c-aux-info.c c-common.c \
	    c-iterate.c toplev.c version.c tree.c print-tree.c \
	    stor-layout.c fold-const.c function.c stmt.c expr.c \
	    calls.c expmed.c explow.c optabs.c varasm.c rtl.c \
	    print-rtl.c rtlanal.c emit-rtl.c real.c dbxout.c \
	    sdbout.c dwarfout.c xcoffout.c integrate.c jump.c cse.c \
	    loop.c unroll.c flow.c stupid.c combine.c regclass.c \
	    local-alloc.c global.c reload.c reload1.c caller-save.c \
	    insn-peep.c reorg.c sched.c final.c recog.c reg-stack.c \
	    insn-opinit.c insn-recog.c insn-extract.c insn-output.c \
	    insn-emit.c insn-attrtab.c m88k.c getpwd.c convert.c \
	    bc-emit.c bc-optab.c obstack.c

#CFLAGS = -Wall -O3
CFLAGS = -O3

mipsver: $(OBJS)
	$(RLD) -EL -o $@ $(LIBDIR_FLAGS) \
		$^ $(XTOOLS_DIR)/lib/crt0.o \
		-lc -lm -lgcc

splitver: $(SPLITOBJS)
	$(RLD) -EL -o $@ $(LIBDIR_FLAGS) \
		$^ $(XTOOLS_DIR)/lib/crt0.split.o $(XTOOLS_DIR)/lib/garbage_collector.o \
		-lc-split -lm-split -lgcc-split


tiny.out: mipsver
	$(PIPESIM) mipsver src/data/tiny.i -o tiny.s 2>&1 | tee tiny.out

small.out: mipsver
	$(PIPESIM) mipsver src/data/smred.c-iterate.i -o small.s 2>&1 | tee small.out

med.out: mipsver
	$(PIPESIM) mipsver src/data/mdred.rtlanal.i -o med.s 2>&1 | tee med.out

large.out: mipsver
	$(PIPESIM) mipsver src/data/cp-decl.i -o large.s 2>&1 | tee large.out




unixver: $(SOURCES)
	gcc -g -D_user_main=main -O3 -o unixver $^



include $(XTOOLS_DIR)/Makefile.include
