# Include the list of object files include ofiles.incl #------------------------ Plattformabhaengigkeiten ------------------------------------- # choose one of #ARCH = solaris ARCH = $(shell uname) # number to indicate the system version #VERS = _2_6 RELEASE = $(shell uname -r | awk -F- '{print "_"$$1}') VERS = $(subst .,_,$(RELEASE)) # comment -DMPI in the following line for sequential version MPIDEFINE = -DMPI ifeq ($(ARCH) , solaris) MPI_HOME = /usr/local/mpi MPI_ARCH = solaris MPI_CHANELL = ch_p4 MPILIB_PATH = -L$(MPI_HOME)/build/$(MPI_ARCH)/$(MPI_CHANELL)/lib MPILIB_LIST = -lmpich -lsocket -lnsl -lm MPIINC_PATH = -I$(MPI_HOME)/include -I$(MPI_HOME)/build/$(MPI_ARCH)/$(MPI_CHANELL)/include STDLIB_PATH = -L/local/gnu/lib STDLIB_LIST = -lm -lstdc++ endif ifeq ($(ARCH) , Linux) MPI_ARCH = Linux MPI_CHANNEL = ch_p4 MPI_HOME = /usr/local/mpich-1.2.7p1 MPILIB_PATH = -L$(MPI_HOME)/lib/ MPILIB_LIST = -lpmpich++ MPIINC_PATH = -I$(MPI_HOME)/include # -I$(MPI_HOME)/build/LINUX/ch_p4/include #MPE_DIR = $(MPI_HOME)/$(ARCH) MPE_DIR = $(MPI_HOME)/mpe #STDLIB_PATH = -L/local/gnu/lib STDLIB_PATH = -L/usr/local/lib endif ifdef MPIDEFINE OSLIB_LIST = $(MPILIB_LIST) $(STDLIB_LIST) OSLIB_PATH = $(MPILIB_PATH) $(STDLIB_PATH) OSINC_PATH = $(MPIINC_PATH) else OSLIB_LIST = $(STDLIB_LIST) OSLIB_PATH = $(STDLIB_PATH) OSINC_PATH = endif #------------------------ Plattform ------------------------------------- DEFINES = -D_GNU $(MPIDEFINE) # # C++ compiler CXX = g++ #CXX = CC #OPTFLAGS = -Winline -O2 -fomit-frame-pointer -g #OPTFLAGS = -fbounds-checking -g #OPTFLAGS = -g OPTFLAGS = -O3 #CXXFLAGS = -fno-implicit-templates -DHAVE_STDLIB_H=1 $(OPTFLAGS) $(INCLUDE_DIR) $(DEFINES) -D_REENTRANT CXXFLAGS = -DHAVE_STDLIB_H=1 $(OPTFLAGS) $(DEFINES) -D_REENTRANT # # C compiler # CC = gcc #CC = CC CFLAGS = $(OPTFLAGS) # program for linking an executable LINK = $(CXX) # program for linking relocatable object files LD = ld LDFLAGS = -r ifdef MPIDEFINE RELINK_TARGET = libparSA_$(ARCH)$(VERS).a else RELINK_TARGET = libseqSA_$(ARCH)$(VERS).a endif INC_PATH = -I../include $(OSINC_PATH) $(RELINK_TARGET) : $(OFILES) $(LD) $(LDFLAGS) -o $(RELINK_TARGET) $(OFILES) # chmod 755 $(RELINK_TARGET) install : $(RELINK_TARGET) cp $(RELINK_TARGET) ../lib # Include the generated dependencies file include dependencies.incl .SUFFIXES : .cc .h .o .cc.o: $(CXX) $(INC_PATH) $(CXXFLAGS) $(OTHER_CXXFLAGS) -c $*.cc -o $*.o .c.o: $(CC) $(INC_PATH) $(CFLAGS) $(OTHER_CFLAGS) -c $*.c -o $*.o clean: rm *.o