592 lines
9.7 KiB
Text
592 lines
9.7 KiB
Text
# Makefile for staden X programs (Sun version)
|
|
# --------------------------------------------
|
|
|
|
# This makefile generates the following staden programs which
|
|
# run under xterm (normal, `N') and those which run directly under X.
|
|
NPROGS= mep nip pip bap sap sip splitp1 splitp2 splitp3 sethelp convert_project
|
|
LPROGS= nipl pip sipl
|
|
XPROGS= xmep xnip xpip xbap xsap xsip
|
|
PROGS= $(NPROGS) $(LPROGS) $(XPROGS)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
# ``Interesting'' suffices that make needs to know about
|
|
#
|
|
.SUFFIXES: .a $(SUFFIXES)
|
|
|
|
|
|
#
|
|
# Directories
|
|
#
|
|
SRC=.
|
|
STADENSRC=$(SRC)/../staden
|
|
STADENBIN=$(STADENSRC)
|
|
TEDSRC=$(SRC)/../ted
|
|
TEDBIN=$(STADENBIN)
|
|
OSPSRC=$(SRC)/osp-bits
|
|
OSPBIN=$(OSPSRC)
|
|
MISCSRC=$(SRC)/../Misc
|
|
MISCBIN=$(MISCSRC)
|
|
# Use the ted sources compiled for staden executables
|
|
INCLUDES= -I$(SRC) -I$(STADENSRC) -I$(TEDSRC) -I$(OSPSRC) -I$(MISCSRC) -I/usr/openwin/include
|
|
|
|
|
|
#
|
|
# Compilers and flags
|
|
#
|
|
# debug on
|
|
CC= gcc
|
|
GCCWARNINGS = -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat
|
|
CFLAGS= -g -ansi -pedantic $(GCCWARNINGS) $(INCLUDES)
|
|
F77= f77
|
|
FFLAGS= -ansi -g -Nx500 #-C
|
|
|
|
LD = f77
|
|
SPRO = /opt/SUNWspro/SC2.0.1
|
|
LDFLAGS = -Bstatic -g \
|
|
-L/opt/cygnus-sol2-1.1/lib/gcc-lib/sparc-sun-solaris2/cygnus-2.0.2 \
|
|
-L$(SPRO) -L/usr/ccs/lib -L/usr/ucblib -L/usr/openwin/lib
|
|
LIBS = -lm -lucb -lelf -Bdynamic -ldl -Bstatic -lsocket -lnsl -lintl -lgcc
|
|
FLIBS = -lV77 -lF77 -lM77
|
|
XLIBS = -lXaw -lXt -lXmu -lXext -lX11
|
|
LFLAGS = $(FLIBS) $(LIBS)
|
|
XLFLAGS = $(FLIBS) $(XLIBS) $(LIBS)
|
|
|
|
# For stdargs on the Sun when not using gcc
|
|
#GNULIB = /usr/local/lib/gcc-gnulib
|
|
|
|
#
|
|
# Avoid compilation of objects in remote directories
|
|
#
|
|
$(STADENBIN)/%.o : $(STADENSRC)/%.f
|
|
$(STADENBIN)/%.o : $(STADENSRC)/%.c
|
|
$(TEDBIN)/%.o : $(TEDSRC)/%.f
|
|
$(TEDBIN)/%.o : $(TEDSRC)/%.c
|
|
|
|
#
|
|
# Sequence library handling routines
|
|
#
|
|
SEQLIB=\
|
|
$(STADENBIN)/seqlibsubs.o
|
|
|
|
|
|
|
|
#
|
|
# The C objects, needed by every X program
|
|
#
|
|
CCORE=\
|
|
$(STADENBIN)/postscript.o\
|
|
$(STADENBIN)/Graph.o\
|
|
$(STADENBIN)/plotLog.o\
|
|
$(STADENBIN)/help.o\
|
|
$(STADENBIN)/dialogues.o\
|
|
$(STADENBIN)/userfacecom.o\
|
|
$(STADENBIN)/xmenu.o\
|
|
$(STADENBIN)/locks.o\
|
|
$(STADENBIN)/mcspec.o\
|
|
$(STADENBIN)/helpnmenu.o\
|
|
$(STADENBIN)/FtoC.o
|
|
|
|
COBJS=\
|
|
$(STADENBIN)/main.o\
|
|
$(CCORE)
|
|
|
|
COBJS2=\
|
|
xbapmain.o\
|
|
$(CCORE)
|
|
|
|
|
|
#
|
|
# Common objects, needed by every program
|
|
#
|
|
COMMONOBJSB=\
|
|
$(STADENBIN)/fmain.o\
|
|
$(STADENBIN)/seeme.o\
|
|
$(STADENBIN)/nxspec.o\
|
|
$(STADENBIN)/userface.o\
|
|
$(STADENBIN)/userfacecom.o\
|
|
$(STADENBIN)/nxhelpmenu.o\
|
|
$(STADENBIN)/helpnmenu.o\
|
|
$(STADENBIN)/FtoC.o\
|
|
$(STADENBIN)/subs89.a
|
|
|
|
COMMONOBJS=\
|
|
$(COMMONOBJSB)\
|
|
$(STADENBIN)/postscript.o
|
|
|
|
SCOMMONOBJS=\
|
|
$(COMMONOBJSB)
|
|
|
|
XCOMMONOBJS=\
|
|
$(STADENBIN)/seeme.o\
|
|
$(STADENBIN)/xspec.o\
|
|
$(STADENBIN)/subs89.a\
|
|
$(COBJS)
|
|
|
|
XCOMMONOBJS2=\
|
|
$(STADENBIN)/seeme.o\
|
|
$(STADENBIN)/xspec.o\
|
|
$(STADENBIN)/subs89.a\
|
|
$(COBJS2)
|
|
|
|
|
|
#
|
|
# Building the programs
|
|
# This should be just a linking phase because all of the object
|
|
# files and library files are generated using implicit rules.
|
|
# We use the fortran compiler to do linking.
|
|
#
|
|
GIP=\
|
|
$(STADENBIN)/gip.o
|
|
|
|
GIPOBJS=\
|
|
$(GIP)\
|
|
$(SCOMMONOBJS)
|
|
|
|
gip: $(GIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(GIPOBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
MEP=\
|
|
$(STADENBIN)/mep.o\
|
|
$(STADENBIN)/mepsub.o\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(STADENBIN)/plot92.a
|
|
|
|
MEPOBJS=\
|
|
$(MEP)\
|
|
$(STADENBIN)/mepmen.o\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o
|
|
|
|
XMEPOBJS=\
|
|
$(MEP)\
|
|
$(STADENBIN)/xmepSpec.o\
|
|
$(XCOMMONOBJS)\
|
|
$(STADENBIN)/plX.o\
|
|
$(STADENBIN)/textOutput.o
|
|
|
|
mep: $(MEPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(MEPOBJS) $(LFLAGS)
|
|
|
|
xmep: $(XMEPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(XMEPOBJS) $(XLFLAGS)
|
|
|
|
|
|
|
|
|
|
NIP=\
|
|
$(STADENBIN)/nip.o\
|
|
$(STADENBIN)/patternn.a\
|
|
$(STADENBIN)/patternnc.a\
|
|
$(STADENBIN)/anals89.a\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(STADENBIN)/plot92.a $(SEQLIB)
|
|
|
|
NIPOBJS=\
|
|
$(NIP)\
|
|
$(STADENBIN)/nipmen.o\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o
|
|
|
|
XNIPOBJS=\
|
|
$(NIP)\
|
|
$(STADENBIN)/xnipSpec.o\
|
|
$(XCOMMONOBJS)\
|
|
$(STADENBIN)/plX.o\
|
|
$(STADENBIN)/textOutput.o
|
|
|
|
nip: $(NIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(NIPOBJS) $(LFLAGS)
|
|
|
|
xnip: $(XNIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(XNIPOBJS) $(XLFLAGS)
|
|
|
|
|
|
|
|
|
|
NIPL=\
|
|
$(STADENBIN)/nipl.o\
|
|
$(STADENBIN)/patternnc.a\
|
|
$(STADENBIN)/anals89.a\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(SEQLIB)
|
|
|
|
NIPLOBJS=\
|
|
$(NIPL)\
|
|
$(SCOMMONOBJS)
|
|
|
|
nipl: $(NIPLOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(NIPLOBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
PIP=\
|
|
$(STADENBIN)/pip.o\
|
|
$(STADENBIN)/analps89.a\
|
|
$(STADENBIN)/patternp.a\
|
|
$(STADENBIN)/patternpc.a\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(STADENBIN)/plot92.a\
|
|
$(SEQLIB)
|
|
|
|
PIPOBJS=\
|
|
$(PIP)\
|
|
$(STADENBIN)/pipmen.o\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o
|
|
|
|
XPIPOBJS=\
|
|
$(PIP)\
|
|
$(STADENBIN)/xpipSpec.o\
|
|
$(XCOMMONOBJS)\
|
|
$(STADENBIN)/plX.o\
|
|
$(STADENBIN)/textOutput.o
|
|
|
|
pip: $(PIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(PIPOBJS) $(LFLAGS)
|
|
|
|
xpip:$(XPIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(XPIPOBJS) $(XLFLAGS)
|
|
|
|
|
|
|
|
|
|
PIPL=\
|
|
$(STADENBIN)/pipl.o\
|
|
$(STADENBIN)/patternpc.a\
|
|
$(STADENBIN)/analps89.a\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(SEQLIB)
|
|
|
|
PIPLOBJS=\
|
|
$(PIPL)\
|
|
$(SCOMMONOBJS)
|
|
|
|
pipl: $(PIPLOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(PIPLOBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
#
|
|
# Trace manager objects
|
|
#
|
|
STDTEDFILES=\
|
|
$(TEDBIN)/seq.o\
|
|
$(TEDBIN)/seqIOABI.o\
|
|
$(TEDBIN)/seqIOALF.o\
|
|
$(TEDBIN)/seqIOSCF.o\
|
|
$(TEDBIN)/seqIOPlain.o\
|
|
$(TEDBIN)/opp.o\
|
|
$(TEDBIN)/fpoint.o\
|
|
$(TEDBIN)/mach-io.o
|
|
|
|
TMANOBJS=\
|
|
$(STADENBIN)/tman_main.o\
|
|
$(STADENBIN)/tman_display.o\
|
|
$(STADENBIN)/tman_traceDisplay.o\
|
|
$(STADENBIN)/tman_basesDisplay.o\
|
|
$(STADENBIN)/tman_context.o\
|
|
$(STADENBIN)/tman_gadgets.o\
|
|
$(STDTEDFILES)
|
|
|
|
OSPOBJS=\
|
|
$(OSPBIN)/analysis.o\
|
|
$(OSPBIN)/our_allo.o\
|
|
$(OSPBIN)/paramIOX.o\
|
|
$(OSPBIN)/paramIO.o\
|
|
$(OSPBIN)/get_scores.o\
|
|
$(OSPBIN)/utils.o\
|
|
mess.o\
|
|
$(GNULIB)
|
|
|
|
XHACK=\
|
|
$(STADENBIN)/SmeLine.o
|
|
|
|
EDITOR=\
|
|
$(XHACK)\
|
|
$(STADENBIN)/xsapConEdit.o\
|
|
contigEditor.o\
|
|
$(STADENBIN)/edUtils.o\
|
|
$(STADENBIN)/undo.o\
|
|
$(STADENBIN)/Sheet.o\
|
|
$(STADENBIN)/select.o\
|
|
$(STADENBIN)/extend.o\
|
|
$(STADENBIN)/searchUtils.o\
|
|
edMenu.o\
|
|
oligo.o\
|
|
oligocom.o\
|
|
subclone.o\
|
|
myparams.o\
|
|
$(STADENBIN)/trans.o\
|
|
$(MISCBIN)/misc.a
|
|
|
|
TAGEDITOR=\
|
|
$(STADENBIN)/tagEditor.o\
|
|
$(STADENBIN)/tagdbparse.o\
|
|
tagU2.o\
|
|
$(STADENBIN)/tagU1.o
|
|
|
|
BAP=\
|
|
bap.o\
|
|
dbsysnew.o\
|
|
dbsyscommon.o\
|
|
actf.o\
|
|
dstrand.o\
|
|
oligo_sel.o\
|
|
llin.o\
|
|
guk.o\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(STADENBIN)/plot92.a
|
|
|
|
BAPOBJS=\
|
|
$(BAP)\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o\
|
|
$(STADENBIN)/conEdit.o\
|
|
tagU2.o\
|
|
$(OSPBIN)/analysis.o\
|
|
$(OSPBIN)/our_allo.o\
|
|
$(OSPBIN)/get_scores.o\
|
|
$(OSPBIN)/utils.o\
|
|
mess.o\
|
|
baponly.o\
|
|
oligocom.o
|
|
|
|
XBAPOBJS=\
|
|
$(BAP)\
|
|
$(XCOMMONOBJS2)\
|
|
$(STADENBIN)/plX.o\
|
|
$(STADENBIN)/textOutput.o\
|
|
$(EDITOR)\
|
|
$(TMANOBJS)\
|
|
$(TAGEDITOR)\
|
|
$(OSPOBJS)
|
|
|
|
bap: $(BAPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(BAPOBJS) $(LFLAGS)
|
|
|
|
xbap: $(XBAPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(XBAPOBJS) $(XLFLAGS)
|
|
|
|
convert_project: $(STADENBIN)/cvt.o
|
|
$(CC) $(CFLAGS) -o $@ $(STADENBIN)/cvt.o
|
|
|
|
SAP=\
|
|
sap.o\
|
|
dbsyscommon.o\
|
|
dbsysold.o\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(STADENBIN)/plot92.a
|
|
|
|
SAPOBJS=\
|
|
$(SAP)\
|
|
$(STADENBIN)/sapmen.o\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o
|
|
|
|
XSAPOBJS=\
|
|
$(SAP)\
|
|
$(STADENBIN)/xsapSpec.o\
|
|
$(XCOMMONOBJS)\
|
|
$(STADENBIN)/plX.o\
|
|
$(STADENBIN)/textOutput.o
|
|
|
|
sap: $(SAPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SAPOBJS) $(LFLAGS)
|
|
|
|
xsap: $(XSAPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(XSAPOBJS) $(XLFLAGS)
|
|
|
|
|
|
|
|
|
|
SAPF=\
|
|
$(STADENBIN)/sapf.o\
|
|
$(STADENBIN)/dbsyscommon.o\
|
|
$(STADENBIN)/dbsysold.o\
|
|
$(STADENBIN)/asubs89.a\
|
|
$(STADENBIN)/plot92.a
|
|
|
|
SAPFOBJS=\
|
|
$(SAPF)\
|
|
$(STADENBIN)/sapmen.o\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o
|
|
|
|
sapf: $(SAPFOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SAPFOBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SIP=\
|
|
$(STADENBIN)/sip.o\
|
|
$(STADENBIN)/dias89.a\
|
|
$(STADENBIN)/plot92.a\
|
|
$(SEQLIB)
|
|
|
|
SIPOBJS=\
|
|
$(SIP)\
|
|
$(STADENBIN)/sipmen.o\
|
|
$(COMMONOBJS)\
|
|
$(STADENBIN)/pl4010.o
|
|
|
|
XSIPOBJS=\
|
|
$(SIP)\
|
|
$(STADENBIN)/xsipSpec.o\
|
|
$(XCOMMONOBJS)\
|
|
$(STADENBIN)/plX.o\
|
|
$(STADENBIN)/textOutput.o
|
|
|
|
sip: $(SIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SIPOBJS) $(LFLAGS)
|
|
|
|
xsip: $(XSIPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(XSIPOBJS) $(XLFLAGS)
|
|
|
|
|
|
|
|
|
|
SIPL=\
|
|
$(STADENBIN)/sipl.o\
|
|
$(STADENBIN)/dias89.a\
|
|
$(SEQLIB)
|
|
|
|
SIPLOBJS=\
|
|
$(SIPL)\
|
|
$(SCOMMONOBJS)
|
|
|
|
sipl: $(SIPLOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SIPLOBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
SETHELP=\
|
|
$(STADENBIN)/sethelp.o
|
|
|
|
SETHELPOBJS=\
|
|
$(SETHELP)\
|
|
$(SCOMMONOBJS)
|
|
|
|
sethelp: $(SETHELPOBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SETHELPOBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
SPLITP1=\
|
|
$(STADENBIN)/splitp1.o
|
|
SPLITP1OBJS=\
|
|
$(SPLITP1)\
|
|
$(SCOMMONOBJS)
|
|
|
|
splitp1: $(SPLITP1OBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SPLITP1OBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
SPLITP2=\
|
|
$(STADENBIN)/splitp2.o
|
|
SPLITP2OBJS=\
|
|
$(SPLITP2)\
|
|
$(SCOMMONOBJS)
|
|
|
|
splitp2: $(SPLITP2OBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SPLITP2OBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
|
|
SPLITP3=\
|
|
$(STADENBIN)/splitp3.o
|
|
SPLITP3OBJS=\
|
|
$(SPLITP3)\
|
|
$(SCOMMONOBJS)
|
|
|
|
splitp3: $(SPLITP3OBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $(SPLITP3OBJS) $(LFLAGS)
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
# Files requiring simple FORTRAN compilation (thing.f -> thing.o)
|
|
#
|
|
%.o: $(SRC)/%.f
|
|
$(F77) $(FFLAGS) -c $<
|
|
|
|
|
|
#
|
|
# Files requiring simple C compilation (thing.c -> thing.o)
|
|
#
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c $<
|
|
%.o: $(SRC)/%.c
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
|
|
|
|
|
|
#
|
|
# The UNIX library (archive) mechanism is fairly weak so the following
|
|
# procedure is used to generate libraries.
|
|
# * split the source file up into files which each contain
|
|
# a single function or subroutine
|
|
# * compile each of those files
|
|
# * insert the object files individually into the library
|
|
# Each library is built by using a temporary directory.
|
|
# The fortran compilations must be done sequentially in order to
|
|
# avoid filling up the (small on this machine) /tmp directory
|
|
# with compiler debugging information.
|
|
#
|
|
%.a: $(SRC)/%.f
|
|
BINDIR=`pwd`; \
|
|
cd $(SRC); \
|
|
SRCDIR=`pwd`; \
|
|
TMPDIR=/tmp/staden$$$$; \
|
|
if test ! -d $$TMPDIR; \
|
|
then mkdir $$TMPDIR; \
|
|
fi; \
|
|
cd $$TMPDIR; \
|
|
rm -f *.f *.o; \
|
|
fsplit $$SRCDIR/`expr $< : '.*/\(.*\)' \| $<`; \
|
|
$(F77) $(FFLAGS) -c *.f; \
|
|
rm *.f; \
|
|
rm -f $$BINDIR/$@; \
|
|
ar rcv $$BINDIR/$@ *.o; \
|
|
ranlib $$BINDIR/$@; \
|
|
rm *.o; \
|
|
cd $$BINDIR; \
|
|
rm -r $$TMPDIR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
all: $(NPROGS) $(XPROGS) $(LPROGS)
|
|
|
|
nprogs: $(NPROGS)
|
|
|
|
xprogs: $(XPROGS)
|
|
|
|
lprogs: $(LPROGS)
|
|
|
|
clean:
|
|
rm -f $(PROGS) *.o *.a *~
|