# makefile for the plotting program BS-PLOT (written by B. Searle)

SHELL = /bin/sh
COMMON =  spectra.o  input.o  devices.o  system.o  common.o
OBJECTS =  ttplo.o $(COMMON)
HEADERS = globals.h input.h spectra.h devices.h common.h

# general variables

MOTIFLIB = -lXm -lXt -lX11
OLLIB = -lXol -lXt -lX11
GNUC = gcc
SYSUNIX = -DUNIX
SYSVMS = -DVMS
DEBUG = -g -DDEBUG
OPTMIZE = -O
OLFLAGS = -DOPENLOOK
MOTIFLAGS = -DMOTIF
MATHLIB = -lm

# defaults

CC = cc
CFLAGS = $(OPTMIZE)
XFLAGS =
XLINK =
CLINK = $(MATHLIB)
SYSTEM = $(SYSUNIX)


# SUN specific Flag

SUNX11 = -I/usr/openwin/include $(OLFLAGS)
SUNXLIB = -L/usr/openwin/lib -lXol -lXt -lX11

# HP-UX Flags

HPX11 = -D_HPUX_SOURCE -I/usr/include/X11R4 -I/usr/include/Motif1.1 -DMOTIF
HPXLIB = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXt -lX11 -lPW
HPFLAGS = -Aa +O2 -DADJUST=false
HPUX = -DUNIX -D_HPUX_SOURCE
HPMATH = -lM

# SGI Flags

SGIX11 = -DMOTIF
SGIXLIB = -lXm -lXt -lX11 -lPW
SGIFLAGS = -xansi -mips2 -O2
IRIX = -DUNIX

# PC Flags
PCX11 =
PCXLIB = 
PCFLAGS = -ansi -O2
SYSPC = -DPC 


# CONVEX Flags

CVXFLAGS = -O2 -rl -DCONVEX

# targets

default: hp

sun:
	$(MAKE) CC=$(GNUC) CFLAGS="-O2 -DDEBUG" XFLAGS="$(SUNX11)" \
                XLINK="$(SUNXLIB)" SYSTEM=$(SYSUNIX) CLINK=$(MATHLIB) ttplo
                
hp:
	$(MAKE) CC=cc CFLAGS="$(HPFLAGS)" XFLAGS="$(HPX11)" \
                XLINK="$(HPXLIB)" SYSTEM="$(HPUX)" CLINK=$(HPMATH) ttplo

sgi:
	$(MAKE) CC=cc CFLAGS="$(SGIFLAGS)" XFLAGS="$(SGIX11)" \
                XLINK="$(SGIXLIB)" SYSTEM="$(IRIX)" CLINK=$(MATHLIB) ttplo
pc:
	$(MAKE) CC=gcc CFLAGS="$(PCFLAGS)" XFLAGS="$(PCX11)" \
                XLINK="$(PCXLIB)" SYSTEM="$(SYSPC)" CLINK=$(MATHLIB) ttplo

convex:
	$(MAKE) CC=cc CFLAGS="$(CVXFLAGS)" ttplo


 ttplo: $(OBJECTS)
	$(CC) $(CFLAGS) -o  plo1 $(OBJECTS) $(CLINK)

 ttplo.o: ttplo.c $(HEADERS) makefile
	$(CC) $(CFLAGS) -o  ttplo.o -c ttplo.c

 spectra.o: spectra.c spectra.h globals.h makefile
	$(CC) $(CFLAGS) -o  spectra.o -c spectra.c

 input.o: input.c spectra.h input.h globals.h common.h makefile
	$(CC) $(CFLAGS) -o  input.o -c input.c

 devices.o: devices.c globals.h spectra.h devices.h common.h makefile
	$(CC) $(CFLAGS) -o  devices.o -c devices.c

 common.o: common.c devices.h spectra.h common.h input.h globals.h makefile
	$(CC) $(CFLAGS) -o  common.o -c common.c

 system.o: system.c system.h makefile
	$(CC) $(CFLAGS) $(SYSTEM) -o  system.o -c system.c

globals.h: system.h
	touch globals.h

