Makefile syntax error

I have the following piece and getting

make 

-----------------------------------
getvel

./getvel_main.cpp
./getvel_main.cpp: 1: ./getvel_main.cpp: //: Permission denied
./getvel_main.cpp: 2: ./getvel_main.cpp: //: Permission denied
./getvel_main.cpp: 3: ./getvel_main.cpp: //: Permission denied
./getvel_main.cpp: 4: ./getvel_main.cpp: //: Permission denied
./getvel_main.cpp: 5: ./getvel_main.cpp: Syntax error: "(" unexpected
make: *** [getvel] Error 2

getvel :
    @echo ""
    @echo "-----------------------------------"
    @echo "getvel"
    @echo ""
    $(mn)/getvel_main.cpp
    $(C++) $(OPT) $(DEF) $(IDIR) $(mn)/getvel_main.cpp -o getvel
    -mv getvel ./gbin

---------- Post updated at 03:04 PM ---------- Previous update was at 02:53 PM ----------

Looks like the echo is the problem as the following works

test : $(mn)/getvel_main.cpp
    $(C++) $(OPT) $(DEF) $(IDIR) $(mn)/getvel_main.cpp -o getvel
    -mv getvel ./gbin

The echo commands are not your problem. There is a huge difference between:

test : $(mn)/getvel_main.cpp
    $(C++) $(OPT) $(DEF) $(IDIR) $(mn)/getvel_main.cpp -o getvel
    -mv getvel ./gbin

and:

test :
    $(mn)/getvel_main.cpp
    $(C++) $(OPT) $(DEF) $(IDIR) $(mn)/getvel_main.cpp -o getvel
    -mv getvel ./gbin

The first says that $(mn)/getvel_main.cpp is a dependency that has to be brought up-to-date before test can be built. The second says that the command $(mn)/getvel_main.cpp must be executed as the first step to create test .

The errors you are seeing are from trying to execute $(mn)/getvel_main.cpp .

2 Likes

Thank you, I resolved all these problems now.

Now I am encountering the following

make raytrac
g++ -traditional -Wno-non-template-friend -Wno-deprecated -O3 -DNDEBUG -DREAL=float -DGetREAL=Getfloat -I./tomorec/parse -I./tomorec/graph -I./tomorec/algeb -I./tomorec/algeb/cpp -I./tomorec/raytr -I./tomorec/tomog -c ./tomorec/help/cpp/raytrac_help.cpp

-----------------------------------
raytrac

g++ -traditional -Wno-non-template-friend -Wno-deprecated -O3 -DNDEBUG -DREAL=float -DGetREAL=Getfloat -I./tomorec/parse -I./tomorec/graph -I./tomorec/algeb -I./tomorec/algeb/cpp -I./tomorec/raytr -I./tomorec/tomog ./raytrac_main.cpp raytrac_help.o -o raytrac
raytrac_help.o: In function `prargv_scn(_IO_FILE*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x0): multiple definition of `prargv_scn(_IO_FILE*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5700): first defined here
raytrac_help.o: In function `prargv_msg(_IO_FILE*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x130): multiple definition of `prargv_msg(_IO_FILE*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5800): first defined here
raytrac_help.o: In function `prargv_d(_IO_FILE*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x220): multiple definition of `prargv_d(_IO_FILE*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x58b0): first defined here
raytrac_help.o: In function `prargv_err(_IO_FILE*, int, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x310): multiple definition of `prargv_err(_IO_FILE*, int, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5960): first defined here
raytrac_help.o: In function `prargv_nwl(_IO_FILE*)':
raytrac_help.cpp:(.text+0x4c0): multiple definition of `prargv_nwl(_IO_FILE*)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5aa0): first defined here
raytrac_help.o: In function `prargv_p(_IO_FILE*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x4e0): multiple definition of `prargv_p(_IO_FILE*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5ac0): first defined here
raytrac_help.o: In function `prargv_pd(_IO_FILE*, int, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x5d0): multiple definition of `prargv_pd(_IO_FILE*, int, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5b70): first defined here
raytrac_help.o: In function `prargv_pg(_IO_FILE*, int, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x6d0): multiple definition of `prargv_pg(_IO_FILE*, int, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5c40): first defined here
raytrac_help.o: In function `prargv_pg2(_IO_FILE*, int, char const*, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x7d0): multiple definition of `prargv_pg2(_IO_FILE*, int, char const*, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5d10): first defined here
raytrac_help.o: In function `prargv_k(_IO_FILE*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x8e0): multiple definition of `prargv_k(_IO_FILE*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5df0): first defined here
raytrac_help.o: In function `prargv_k2(_IO_FILE*, int, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x9d0): multiple definition of `prargv_k2(_IO_FILE*, int, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5ea0): first defined here
raytrac_help.o: In function `prargv_kv(_IO_FILE*, int, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0xad0): multiple definition of `prargv_kv(_IO_FILE*, int, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x5f70): first defined here
raytrac_help.o: In function `prargv_kvd(_IO_FILE*, int, char const*, char const*, int, char const*, bool)':
raytrac_help.cpp:(.text+0xbd0): multiple definition of `prargv_kvd(_IO_FILE*, int, char const*, char const*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6040): first defined here
raytrac_help.o: In function `prargv_k2vd(_IO_FILE*, int, char const*, char const*, char const*, int, char const*, bool)':
raytrac_help.cpp:(.text+0xde0): multiple definition of `prargv_k2vd(_IO_FILE*, int, char const*, char const*, char const*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x61d0): first defined here
raytrac_help.o: In function `prargv_k2d(_IO_FILE*, int, char const*, char const*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x1060): multiple definition of `prargv_k2d(_IO_FILE*, int, char const*, char const*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x63c0): first defined here
raytrac_help.o: In function `prargv_vd(_IO_FILE*, int, char const*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x1330): multiple definition of `prargv_vd(_IO_FILE*, int, char const*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6600): first defined here
raytrac_help.o: In function `prargv_vdvd(_IO_FILE*, int, char const*, int, char const*, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x1470): multiple definition of `prargv_vdvd(_IO_FILE*, int, char const*, int, char const*, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6700): first defined here
raytrac_help.o: In function `prargv_dvd(_IO_FILE*, int, char const*, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x15d0): multiple definition of `prargv_dvd(_IO_FILE*, int, char const*, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6830): first defined here
raytrac_help.o: In function `prargv_vdflt(_IO_FILE*, int, char const*, char const*, char const*, char const*, bool)':
raytrac_help.cpp:(.text+0x16e0): multiple definition of `prargv_vdflt(_IO_FILE*, int, char const*, char const*, char const*, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6910): first defined here
raytrac_help.o: In function `prargv_brief_misc(_IO_FILE*, int, int, bool)':
raytrac_help.cpp:(.text+0x1810): multiple definition of `prargv_brief_misc(_IO_FILE*, int, int, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6a00): first defined here
raytrac_help.o: In function `prargv_help_misc(_IO_FILE*, int, bool)':
raytrac_help.cpp:(.text+0x1ad0): multiple definition of `prargv_help_misc(_IO_FILE*, int, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x6c30): first defined here
raytrac_help.o: In function `prargv_exm(_IO_FILE*, int, char const*, bool)':
raytrac_help.cpp:(.text+0x2340): multiple definition of `prargv_exm(_IO_FILE*, int, char const*, bool)'
/tmp/ccq2KXHl.o:raytrac_main.cpp:(.text+0x7530): first defined here
collect2: ld returned 1 exit status
make: *** [raytrac] Error 1