#!
#!
#cross compiler for i860 is icc
#cross assembler for i860 is as860
CFLAGS = -O3 -Mvect -Knoieee
LDFLAGS =   -lm
# Makefile
#          ---Padma Raghavan 
#
OSRC =	o_interface.c		o_utilities.c\
	o_l_phase.c			o_lists.c	order.c\
	o_items.c 	o_show.c\
	o_counts.c	o_l_seps.c\
	redistribute.c\
	o_s_glue.c\
	o_d_gather.c\
	o_d_l_glue.c\
	o_d_seps.c\
	o_d_phase.c\
	o_d_extra.c	o_merges.c
#
#
#Corresponding object code
#
OOBJ =	o_interface.o		o_utilities.o\
	o_l_phase.o			o_lists.o	order.o\
	o_counts.o	o_l_seps.o\
	o_items.o		o_show.o\
	redistribute.o\
	o_s_glue.o\
	o_d_gather.o\
	o_d_l_glue.o\
	o_d_seps.o\
	o_d_phase.o\
	o_d_extra.o	o_merges.o
#
CSRC =	d_exchange.c	q_sort.c 	stubs.c
#
COBJ =	d_exchange.o	q_sort.o	stubs.o
#
#
NSSRC =	l_s_fact.c		s_util_spd.c\
	d_s_fact.c		s_fact.c\
	factor.c\
	n_fact.c		l_n_fact.c\
	l_solve.c\
	n_merges.c		n_utilities.c\
	n_merges_spd.c\
	p_subset_sum.c\
	d_factor_spd.c\
	d_solve_spd.c\
	solve.c
#
NSOBJ =	l_s_fact.o		s_util_spd.o\
	d_s_fact.o		s_fact.o\
	factor.o\
	l_solve.o\
	n_fact.o		l_n_fact.o\
	n_merges.o		n_utilities.o\
	n_merges_spd.o\
	p_subset_sum.o\
	d_factor_spd.o\
	d_solve_spd.o\
	solve.o
#
#
ASRC =	sfill.s
AOBJ  = sfill.o
#
MSRC =	map_utilities.c		map_grid.c	map_mesh.c
#
#
MOBJ =	map_utilities.o		map_grid.o	map_mesh.o
#
#
SRC	= ${OSRC} ${CSRC} ${NSSRC}  ${ASRC}
OBJ	= ${OOBJ} ${COBJ} ${NSOBJ}   ${AOBJ}
#
#
#
#rules
#
#
.KEEP_STATE:
#
#
.c.o:
	$(CC) $(SWITCHES) -c  $<
#
#
.s.o:
	$(AS)  $<
#
#
Map:	
	make "CC=cc" "SWITCHES=-O3" map
#
#
Solve:
	make "AS=as860" "CC=icc" "SWITCHES=-O3  -Mvect -Knoieee" lib solve
#
Lib:
	make "AS=as860" "CC=icc" "SWITCHES=-O3 -Mvect -Knoieee" lib
#
Foo:
	make "AS=as860" "CC=icc" "SWITCHES=-O" foo  
#
map:	${MSRC} ${MOBJ}	
	$(CC) $(SWITCHES) -o Map  map_tool.c  ${MOBJ}  -lm 
#
#
solve:	
	$(CC) $(SWITCHES)  -o Solve capss.c  mylib.a  -lkmath  -lm  -node
#
lib:	${SRC} ${OBJ}
	ar860 cr mylib.a ${OBJ}
#
clean:	${OOBJ} ${COBJ} ${NSOBJ} ${AOBJ}
	rm ${OOBJ} ${COBJ} ${NSOBJ} ${AOBJ} Solve Map

