LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Makefile works on ubuntu 12.04 LTS, but not on redhat (https://www.linuxquestions.org/questions/linux-newbie-8/makefile-works-on-ubuntu-12-04-lts-but-not-on-redhat-4175419961/)

PBraun 08-02-2012 06:38 AM

Makefile works on ubuntu 12.04 LTS, but not on redhat
 
I wrote a multithreading program on my Ubuntu 12.04 and now want to run it on a SGI cluster running Red Hat Enterprise Linux Server release 6.3. It runs fine on my ubuntu, but has the usual

makefile:1: * missing separator. Stop.

error when running make on the server machine.

here is my makefile:

Code:

HDF5DIR = /cfel/common
#HDF5DIR = /usr


#INC_DIR = /usr/local/include
#LIB_DIR = /usr/local/lib
INC_DIR = /cfel/common/include
LIB_DIR = /cfel/common/lib
LIBS = -lm -lstdc++ -lpthread -lhdf5 -lfftw3 -lfftw3f -lfftw3f_threads -        lfftw3_threads

SHELL      = /bin/sh

CC      = g++
CFLAGS      = -g -O3 -ffast-math -mtune=native -msse3 -msse4
C_FLAGS    = -I$(INC_DIR) -I$(HDF5DIR)/include $(CFLAGS) -c

LD      = g++
LDFLAGS    = -g -O3 -ffast-math -mtune=native -msse3 -msse4
$(LDFLAGS)
LD_FLAGS    = -L$(LIB_DIR) -L$(HDF5DIR)/lib $(LIBS) $(LDFLAGS)


OBJ_FILES  = phaseit3d.o global.o settings.o data2d.o data3d.o fftwData.o worker.o
EXE_FILE    = phaseit3d


.cpp.o : Makefile $*.h
    $(CC) $(C_FLAGS) $*.cpp -o $*.o

all : $(OBJ_FILES) Makefile
    $(LD) $(OBJ_FILES) $(LD_FLAGS) -o $(EXE_FILE)

clean :
    rm $(OBJ_FILES)

Can anyone spot my mistake? Any differences between those distributions? I used tabs in the important places, and the error says it's on line 1, very strange

druuna 08-02-2012 06:56 AM

This doesn't look correct:
Code:

LIBS = -lm -lstdc++ -lpthread -lhdf5 -lfftw3 -lfftw3f -lfftw3f_threads -        lfftw3_threads
Shouldn't that be:
Code:

LIBS = -lm -lstdc++ -lpthread -lhdf5 -lfftw3 -lfftw3f -lfftw3f_threads -lfftw3_threads


All times are GMT -5. The time now is 01:20 PM.