56 lines
1.7 KiB
Text
56 lines
1.7 KiB
Text
### This Makefile is part of the tutorial of the EO library
|
|
# Unlike other Makefiles in EO, it is not using the automake/autoconf
|
|
# so that it stays easy to understant (you are in the tutorial, remember!)
|
|
# MS, Oct. 2002
|
|
|
|
# if you use this Makefile as a starting point for another application
|
|
# you might need to modify the following
|
|
DIR_EO = ../../src
|
|
|
|
.SUFFIXES: .cpp
|
|
|
|
# Warning: $(CXX) in Linux (RedHat and Mandrake at least) is g++
|
|
# However, if you are using this Makefile within xemacs,
|
|
# and have problems with the interpretation of the output (and its colors)
|
|
# then you should use c++ instead (make CXX=c++ will do)
|
|
|
|
.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -o $@ $*.cpp $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a
|
|
|
|
.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c $*.cpp
|
|
|
|
# local sources
|
|
COMMON_SOURCES = eoOneMax.h \
|
|
eoOneMaxEvalFunc.h \
|
|
eoOneMaxInit.h \
|
|
eoOneMaxMutation.h \
|
|
eoOneMaxQuadCrossover.h \
|
|
make_genotype_OneMax.h \
|
|
make_op_OneMax.h
|
|
|
|
NO_LIB_SOURCES = OneMaxEA.cpp
|
|
|
|
LIB_SOURCES = OneMaxLibEA.cpp make_OneMax.cpp
|
|
|
|
|
|
SOURCES = $(COMMON_SOURCES) OneMaxEA.cpp OneMaxLibEA.cpp make_OneMax.cpp
|
|
|
|
LIB_EO = $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a
|
|
|
|
ALL = OneMaxEA OneMaxLibEA
|
|
|
|
OneMaxEA : OneMaxEA.o
|
|
$(CXX) -g -o $@ OneMaxEA.o $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a -lm
|
|
|
|
OneMaxLibEA : OneMaxLibEA.o make_OneMax.o
|
|
$(CXX) -g -o $@ OneMaxLibEA.o make_OneMax.o $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a -lm
|
|
|
|
tar : ; tar czvf OneMax.tgz *.h *.cpp Makefile
|
|
|
|
all : $(ALL)
|
|
|
|
clean : ; /bin/rm *.o $(ALL)
|
|
|
|
########## local dependencies
|
|
OneMaxEA.o : $(COMMON_SOURCES) OneMaxEA.cpp
|
|
OneMaxLibEA.o : $(COMMON_SOURCES) OneMaxLibEA.cpp
|
|
make_OneMax.o : make_OneMax.cpp eoOneMax.h
|