#
# Makefile
#
# A Makefile for projects that requires minimal adaptation.
#
# Author: J.I. van Hemert <jvhemert@cs.leidenuniv.nl>
# Last Revision: 04-Apr-1999 13:08 by jvhemert
#


### Targets ###

TITLE = mondriaan
BIN = mondriaan
TAGSFILE = tags
TARSUFFIX = .tar.gz


### Directories ###

BINDIR = .


### Misc ###

CSUFFIX = cc
HSUFFIX = h
VPATH = .
MACHINE = `uname`


### Flags ###

LIBES = `gtk-config --libs` -lm #-ldl -lccmalloc
LIBPATH = #-L/home/jvhemert/lib/$(MACHINE) 
INCPATH = #-I/home/jvhemert/include 
INCLUDES = `gtk-config --cflags`
LDFLAGS = #-g
CPPFLAGS = -Wall -O2 $(DEFINES) $(INCLUDES)
CFLAGS = $(CPPFLAGS)
TAGSFLAGS = -t -o $(TAGSFILE)
DEFINES = -D$(MACHINE) #-DDEBUG
RMFLAGS = -f


### Progs ###

CC = g++ $(CFLAGS)
CXX = g++ $(CPPFLAGS)
LINKER = $(CC)
CTAGS = ctags $(TAGSFLAGS)
SHELL = /bin/sh
MOVE = mv
RM = rm $(RMFLAGS)
STRIP = strip

DEPENDFILE = .depend
CCMALLOC = #/home/jvhemert/lib/Linux/ccmalloc.o 

#############################################################
#               NO CHANGES FROM HERE ON                     #
#############################################################

OFILES_UI = ui/gladesig.o ui/gladesrc.o ui/draw.o #LeakTracer.o

OFILES = $(patsubst %.$(CSUFFIX),%.o,$(wildcard *.$(CSUFFIX))) $(OFILES_UI)
CFILES = $(wildcard *.$(CSUFFIX))
HFILES = $(wildcard *.$(HSUFFIX))
TEXFILES = $(wildcard *.$(TEXSUFFIX))

.PHONY: clean tags dist showdeps distclean dep



### Program ###

$(BIN): $(DEPENDFILE) $(OFILES)  Makefile
	$(LINKER) $(LDFLAGS) $(CCMALLOC) -o $@ $(OFILES) $(LIBPATH) $(LIBES)


ifeq ($(DEPENDFILE), $(wildcard $(DEPENDFILE)))
include $(DEPENDFILE)
endif

tags:
	$(CTAGS) $(CFILES) $(HFILES)

showdeps:
	$(CC) -MM $(CFILES)

$(DEPENDFILE) dep:
	$(CC) -MM $(CFILES) > $(DEPENDFILE)
	

### Clean ###

distclean: clean
	-$(RM) $(BIN) $(TAGSFILE) $(DEPENDFILE)

clean:
	-$(RM) $(OFILES)

# eof() Makefile

