all:	solarmain

# gcc linux and SGI version

FC=gfortran
CC=gcc
CXX=g++

FFLAGS = -O2 -fno-second-underscore -fexceptions
CFLAGS = -O2 -I../lib -DUSE_SAFELIB -fexceptions
LDFLAGS = -L../lib -lsafelib -ltcl -L/usr/lib32 -lm -lc -lstdc++ -ldl -fexceptions -lRicVolumed -lNemaVolumed -lfslio -lniftiio -lnifticdf -lznz -lz
CPPFLAGS = -I../lib -I../include -DUSE_SAFELIB -fexceptions

# End of system specific definitions

INCLUDES= \
solar.h \
expression.h \
token.h \
config.h \
tablefile.h \
plotpipe.h \
mvn.h \
nrutil.h

OBS= \
voxel.o \
zscore.o \
evd.o \
evdlik.o \
define.o \
ipmpar.o \
spmpar.o \
cdfnor.o \
normal.o \
snp.o \
fit2dp.o \
dppfa.o \
scratchfile.o \
scale.o \
ccuserid.o \
alnormc.o \
eqvar.o \
ncdf.o \
npdf.o \
mehd.o \
nrutil.o \
w_mehd.o \
fun_mehd.o \
ibs.o \
drand.o \
simqtl.o \
howclose.o \
fisherpedigree.o \
covariate.o \
writestr.o \
parameter.o \
dasycov.o \
phidens.o \
alnorm.o \
hessin.o \
mvncdf.o \
ddfun.o \
dfun.o \
solar.o \
solarfilecmd.o \
phenotypes.o \
option.o \
solarmain.o \
mu.o \
loglike.o \
model.o \
omega.o \
trait.o \
function.o \
expression.o \
matrix.o \
field.o \
marker.o \
pedigree.o \
solarfile.o \
tablefilecmd.o \
tablefile.o \
constraint.o \
tclgr.o \
plotpipe.o \
chi.o \
cdfchi.o \
key.o \
freq.o \
ibd.o \
mibd.o \
ibdoption.o \
map.o \
maximize.o \
loadsave.o \
verbosity.o \
token.o \
scan.o \
help.o \
ccsearch.o

#
# Fortran objects needed by fisher
#
FOBS= \
evdout.o \
pinput.o \
preopt.o \
preped.o \
symeig.o \
eigstruc.o \
ppnd.o \
dcovar.o \
dmean.o \
smpoutput.o \
inital.o \
dcopyped.o \
optima.o \
astop.o \
asycov.o \
beta.o \
calc.o \
chisq.o \
clear.o \
copyped.o \
covar.o \
delta7.o \
digam.o \
direct.o \
edftst.o \
fdist.o \
fun.o \
gamlog.o \
gaucdf.o \
hpsort.o \
kin.o \
linpack.o \
logo.o \
loop.o \
mblank.o \
newlik.o \
output.o \
pedtst.o \
fortfiles.o \
qdprog.o \
random.o \
resid.o \
scor.o \
search.o \
settab.o \
sweep.o \
tdist.o \
trigam.o \
upcase.o \
yesno.o

cdfchi.o:	cdfchi.f
	$(FC) $(FFLAGS) -O1 -c -o cdfchi.o cdfchi.f

solarmain: $(INCLUDES) $(OBS) $(FOBS)
	$(CC) $(CPPFLAGS) -c solar.cc
	$(FC) -o solarmain $(OBS) $(FOBS) $(LDFLAGS)

install:
	/usr/sbin/install -f ../bin -o solarmain


ecalc:	ecalc.o expression.o token.o scan.o function.o
	CC -g -o ecalc ecalc.o expression.o token.o scan.o function.o $(LDFLAGS)

clean:	
	rm -f *.o solarmain

copyobj:
	cp *.o opt
	cp solarmain opt

ccclean: 
	rm $(OBS)
