#
# Makefile (gpm-Linux)
#
# Copyright 1994   rubini@ipvvis.unipv.it
#
####
# This Makefile has been used for both a linux system
# and a SunOS-4.1 (when I lost my hard drive)
#
# The main configuration parameters are in gpmCfg.h

CFLAGS = -O2 -fomit-frame-pointer
#CFLAGS = -g

INSTALL = install -c
PREFIX = /usr/local
LIBDIR = $(PREFIX)/lib
BINDIR = $(PREFIX)/bin
INCDIR = $(PREFIX)/include

############## no more editing...

CLIENTOBJS = mev.o
CLIENTS = $(CLIENTOBJS:.o=)
LDFLAGS = -lcurses -L. -l$(TARGET)

TARGET = gpm
   TOBJS = gpm.o gpn.o mice.o
LIB = lib$(TARGET).a
   LOBJS = liblow.o libhigh.o
INCLUDES = gpm.h

ifeq (SunOS,$(shell uname))
  MORETOBJS = getopt.o
endif

ifeq ($(RANLIB),) #my sunos station lacks a default $(RANLIB)
   RANLIB = ranlib
endif

ifneq (.depend,$(wildcard .depend))
all: depend
endif

all: $(TARGET) $(LIB) $(CLIENTOBJS) $(CLIENTS)

$(TARGET): $(TOBJS) $(MORETOBJS)
	$(CC) $(CFLAGS) -o $@ $^

$(LIB): $(LOBJS)
	$(AR) r $(LIB) $(LOBJS)
	$(RANLIB) $(LIB)

# Without this silly rule it won't work :-(
# $(LD) won't work, either.
%: %.o
	$(CC) $*.o -o $@ $(LDFLAGS)

$(CLIENTS): $(LIB)

############## misc targets

.PHONY: install clean cleanest check distrib terse tar\
             mpage depend dep DEPEND DEP

install:
	$(INSTALL) $(LIB) $(LIBDIR)
	$(INSTALL) $(TARGET) $(CLIENTS) $(BINDIR) 
	$(INSTALL) $(INCLUDES) $(INCDIR)

clean:
	rm -f $(TARGET) $(LIB) $(CLIENTS) *.o

distrib: mpage cleanest check tar

cleanest: terse clean
	rm -f .depend TAGS Test.log

check:
	@grep VERSION *.h */*.tex

terse:
	rm -f *~ */*~ */*.dvi */*.log

tar:
	n=`basename \`pwd\``; cd ..; tar cvf - $$n | gzip > $$n.tar.gz

mpage:
	$(MAKE) -C doc mpage

test: gpm
	csh -c "(time ./gpm -m ./data -T ) |& tee /dev/tty >> Test.log"

depend dep:
	gcc -MM *.c > .depend

DEPEND DEP:
	gcc -M *.c > .depend


ifeq (.depend,$(wildcard .depend))
include .depend
endif






