#=======================================================================
#
# makefile.cygwin for Molden 4.6 (by K.Sawabe)
#
# install  : make -f makefile.cygwin install
# uninstall: make -f makefile.cygwin uninstall
# clean    : make -f makefile.cygwin clean
#

#****** cygwin special ******
INSTALL=/usr/bin/install
INSTALL_DIR=/usr/local/bin
TARGET= molden.exe gmolden.exe moldenogl.exe
# cpu type (if you want to know the cpu type in your machine, use "arch" command.)
#CPUOPT = -march=i686
# mingw option: (slightly faster?) 
#MINGW = -mno-cygwin
# for moldenogl
LIBSGMOL = -L/usr/X11R6/lib -lGL -lGLU -lX11 -lm
LIBSGWIN = -mwindows -e _mainCRTStartup -lglu32 -lglut32 -lopengl32 -lm
CFLAGS_XWINGL = $(CPUOPT) -O2 -c -I/usr/X11R6/include -DDOBACK -DHASTIMER
#****************************

CC = gcc
CFLAGS = $(CPUOPT) -O2 -c -I/usr/X11R6/include -DDOBACK -DHASTIMER
FC = g77
FFLAGS = $(MINGW) $(CPUOPT) -O3 -malign-double -fomit-frame-pointer -funroll-loops
LIBS =  -L/usr/X11R6/lib -lX11 -lm
LDR = g77   

OBJS = atomdens.o molden.o above.o actcal.o basprt.o calc.o \
	caldis.o calfa.o cntour.o cnvgam.o cnvgau.o convzmat.o cross.o \
	crprod.o datin.o defpc.o defrad.o del.o denmak.o densmat.o \
	distot.o dmat.o docent.o draw.o \
	euler.o eulerh.o files.o fndcal.o gampoi.o gaupoi.o gaussian.o \
	geogam.o geogau.o getmul.o getpoi.o getreal.o gmmcnv.o grdcal.o \
	gstr.o hidedr.o impsc.o locatc.o maxmin.o mdout.o mmcnv.o \
	mopaco.o mopin.o mulprt.o occin.o oriin.o parang.o pareul.o \
	parfc.o parori.o parpla.o parstp.o planky.o plend.o plini.o \
	plmol.o plotgh.o plotgr.o plotin.o plpost.o prev.o proato.o \
	procnv.o progeo.o rdbas.o rdcor.o rdgam.o rdgaus.o rdinfo.o \
	rdpdb.o rdvect.o reada.o readel.o readvv.o renorm.o rmomen.o \
	rota.o rotatg.o rotb.o rotc.o rotcor.o rotd.o rotfir.o rotm.o \
	rotmom.o scback.o search.o searchd.o setang.o setbas.o \
	settc.o shsort.o site.o slater.o stoc.o tessa.o tk4014.o \
	tocap.o tocapf.o tomold.o under.o vaxdum.o vclr.o vec.o vlen.o \
	vsc1.o wrinfo.o zread.o samino.o prtcal.o actss.o actami.o \
	plden.o heaps.o den3d.o dencnt.o plhead.o pltab.o eucmol.o pl3dm.o \
	plbox.o selsol.o atmd.o dolift.o spaced.o snypnt.o eulstr.o \
	calct.o coeffs.o epint.o espot.o fcij.o fmt.o genaos.o rys.o \
	ryspol.o rysrot.o thrcen.o twocen.o ifblen.o rott.o plmolp.o \
	wrzmat.o rdchx.o obin.o pred.o gargpl.o inferr.o freqs.o getmop.o \
	brklin.o getzm.o xyzcoo.o geomop.o dumzm.o getxyz.o espchrg.o \
	proxim.o rdgamu.o plvrml.o molsint.o runjob.o rdmsf.o wrmsf.o \
	rdmolf.o adf_fun.o rotpol.o extbas.o rdcpmd.o eem.o asspmf.o srfcal.o \
	rdqchm.o rdorca.o rdmaux.o \
	mpolefit.o

molden.exe:	$(OBJS) xwin.o 
	$(LDR) -o molden $(OBJS) xwin.o $(LIBS)

gmolden.exe:	$(OBJS) xwingl.o 
	$(LDR) -o gmolden $(OBJS) xwingl.o $(LIBSGMOL)

moldenogl.exe:	oglmolw.o sillyw.o
	$(CC) $(MINGW) -o moldenogl oglmolw.o sillyw.o $(LIBSGWIN)

xwingl.o:	xwin.c
	$(CC) -o xwingl.o $(CFLAGS_XWINGL) -DDOGL xwin.c

oglmolw.o: oglmol.c
	$(CC) $(MINGW) -o oglmolw.o -O3 -c oglmol.c

sillyw.o: silly.c
	$(CC) $(MINGW) -o sillyw.o -O3 -c silly.c

install: $(TARGET)
	$(INSTALL) molden.exe $(INSTALL_DIR)
	$(INSTALL) gmolden.exe $(INSTALL_DIR)
	$(INSTALL) moldenogl.exe $(INSTALL_DIR)

uninstall:
	rm -f $(INSTALL_DIR)/molden.exe
	rm -f $(INSTALL_DIR)/gmolden.exe
	rm -f $(INSTALL_DIR)/moldenogl.exe

clean:
	rm -f $(OBJS)
	rm -f mpdum.o xwin.o xwingl.o oglmolw.o sillyw.o
	rm -f molden.exe moldenogl.exe gmolden.exe

tarbin: $(TARGET)
	tar jcvf molden46_cygwin_bin.tar.bz2 $(TARGET)

