makefile error..

Hello,

I have just downloaded a c++ package called TSNEAT, which is compiled with this makefile. However, when I run it using make in ubuntu, I simply get the message "make: Nothing to be done for `Makefile.common'."

Here is the makefile:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CC = g++
BIN_DIR=./BIN
OBJ_DIR=./OBJ/


.DEFAULT_GOAL := $(BIN_DIR)/$(PROJECT)
ifeq ($(BUILD), DEBUG)
	CFLAGS = -g -W -Wall -Wunused -pedantic $(INCLUDES) $(CPPFLAGS)
else ifeq ($(BUILD), RELEASE)
	CFLAGS = -D NDEBUG -O3 -march=pentium4m -ffast-math  -funroll-loops $(INCLUDES) $(CPPFLAGS)
endif

COMPILE_OBJ = $(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(OBJ_DIR)*.o $(BIN_DIR)/$(PROJECT)
make: *** No rule to make target `BIN'. Stop.
After creating a BIN directory
make: Nothing to be done for `BIN/'


.DEFAULT_GOAL := $(BIN_DIR)/$(PROJECT) define the target, but you never write that recipe
1
2
3
$(BIN_DIR)/$(PROJECT) :
	echo The goal is $(.DEFAULT_GOAL);
	echo so this will be executed when calling 'make';


I cannot find TSNEAT. ¿where did you get it?
It's the timeseries implementation of Neuroaugmentation of Augmenting Topologies (NEAT), you can find it here: http://tsneat.sourceforge.net/

I don't really know much about makefiles so I'd be very appreciative if you could take a look and tell me whether I am doing something wrong, or whether there is an actual problem with the makefile (in which case I would just go back to the drawing board and make one myeself...).

Arman
This project has no files. ¿?
Makefile.common is intended to be used by others makefiles.
There are one in ./evaluator and another in ./neatl
Also you should create a directory ./neatl/OBJ/
That will make executables ./evaluator/BIN/evaluator and ./neatl/BIN/neatl

I think that the files under ./common ./evaluator/common ./neatl/common are all equal
Oh right, so I should be executing those instead of the makefile.common file in the main directory? Thanks!
Last edited on
Topic archived. No new replies allowed.