## 
## SGPC: Simple Genetic Programming in C
## (c) 1993 by Walter Alden Tackett and Aviram Carmi
##  
##  This code and documentation is copyrighted and is not in the public domain.
##  All rights reserved. 
##  
##  - This notice may not be removed or altered.
##  
##  - You may not try to make money by distributing the package or by using the
##    process that the code creates.
##  
##  - You may not distribute modified versions without clearly documenting your
##    changes and notifying the principal author.
##  
##  - The origin of this software must not be misrepresented, either by
##    explicit claim or by omission.  Since few users ever read sources,
##    credits must appear in the documentation.
##  
##  - Altered versions must be plainly marked as such, and must not be
##    misrepresented as being the original software.  Since few users ever read
##    sources, credits must appear in the documentation.
##  
##  - The authors are not responsible for the consequences of use of this 
##    software, no matter how awful, even if they arise from flaws in it.
##  
## If you make changes to the code, or have suggestions for changes,
## let us know!  (gpc@ipld01.hac.com)


# $Id: Makefile,v 1.1 1993/04/30 05:01:48 gpc-avc Exp gpc-avc $
#
# invoke this Makefile with the command:  make [ TYPE=type ]
#
# where you have the problem-specific fitness and setup files named 
# fitness.c and setup.c
#
# TYPE should usually equal int or float,  but in principle can be anything.
#
# $Log: Makefile,v $
# Revision 1.1  1993/04/30  05:01:48  gpc-avc
# Initial revision
#
# Revision 1.7  1993/04/23  01:56:25  gpc-avc
#


TYPE = float
DEBUG = 0

FLAGS =  -DTYPE=$(TYPE) -DDEBUG=$(DEBUG)

SRCS = setup.c fitness.c 
INCS = prob.h
OBJS = $(SRCS:%.c=%.o) 
EXE  = gpc$(PROBLEM)

## NOTE: last definition wins ##
CC = gcc 
CC = cc

CFLAGS = -g -I../lib
CFLAGS = -O -I../lib

CPPFLAGS = $(FLAGS)
LIBS = -L../lib -lgpc$(TYPE) -lm 

gcc cc debug-cc debug-gcc purify prof all: $(OBJS)
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" $@)
	$(CC) -o $(EXE) $(OBJS) $(LIBS)

clean:
	/bin/rm -f $(EXE) $(OBJS) Makefile.bak

real-clean: clean
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" clean)

print:
	lwf -s7 -l -p"-2 -t" -m -t8 $(SRCS) $(INCS) | lpr
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" $@)

co:
	-co -l $(SRCS) $(INCS) Makefile
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" $@)
	
ci:
	-ci -l $(SRCS) $(INCS) Makefile
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" $@)

lint : 
	$(LINT.c) $(CFLAGS) $(FLAGS) $(SRCS)
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" $@)

depend:
	makedepend -- $(CFLAGS) -- $(FLAGS) $(SRCS)
	( cd ../lib; \
	$(MAKE) TYPE=$(TYPE) DEBUG=$(DEBUG) \
	CC=$(CC) CFLAGS="$(CFLAGS)" $@)

# DO NOT DELETE THIS LINE -- make depend depends on it.

setup.o: /usr/include/stdio.h ../lib/gpc.h ../lib/proto.h ../lib/random.h
setup.o: prob.h
fitness.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/errno.h
fitness.o: /usr/include/sys/errno.h ../lib/gpc.h ../lib/proto.h
fitness.o: ../lib/random.h