############################################################################## # Makefile # # USE: # # type 'gmake' to generate object files and link libraries # type 'gmake clean' to clean off previously compiled object files (REQUIRED if objects were compiled for a different architecture!) # type 'gmake install' to copy the EXECUTABLE_NAME to a directory called AASPI_BIN_DIR (this path should be in your .cshrc file) # # # Author: Kurt J. Marfurt, Ha T. Mai AASPI, University of Oklahoma ############################################################################## ############################################################################### # # NOTE: This now builds the objects in a separate directory! # ############################################################################### # AASPI root directory #LINUX_AASPI_DIRECTORY = /home/aaspi/devel ############################################################################### # Include Global AASPI Makefile configuration include ../../Makefile.inc ############################################################################### EXECUTABLE_NAME = aaspi_segy_write ############################################################################### # Setup for 32 or 64 bit DO NOT EDIT THIS SECTION ifeq ($(AASPI_64_BIT),y) BUILD_DIR= obj64 AASPI_LIB_DIR=$(LINUX_AASPI_DIRECTORY)/lib64 AASPI_BIN_DIR=$(LINUX_AASPI_DIRECTORY)/bin64 F90_MODULE_DIR=$(LINUX_AASPI_DIRECTORY)/include64 else BUILD_DIR= obj32 AASPI_LIB_DIR=$(LINUX_AASPI_DIRECTORY)/lib AASPI_BIN_DIR=$(LINUX_AASPI_DIRECTORY)/bin F90_MODULE_DIR=$(LINUX_AASPI_DIRECTORY)/include endif BUILD_EXE_NAME=$(BUILD_DIR)/$(EXECUTABLE_NAME) ############################################################################### #compilers and compiler options # #F90 = ifort32 ## Fortran 90 compiler #F90 = gfortran ## Fortran 90 compiler #CC = gcc ## Gnu gcc compiler #CXX = g++ -m32 F90FLAGS = -O3 CFLAGS = CXXFLAGS = -O3 -Df2cFortran -Wall \ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ############################################################################### ############################################################################### # Define the Object files needed in this application ############################################################################### OBJS = aaspi_segy_writer.o BUILD_OBJS=$(addprefix $(BUILD_DIR)/,$(OBJS)) ############################################################################### INCLUDES= -I$(AASPI_INCLUDE_DIR) $(GUI_INCLUDES) ############################################################################### LIBS= -L${AASPI_LIB_DIR} -laaspi_io ############################################################################### # # This is the main target -- Leave this alone as it makes the BUILD_DIR # all: $(BUILD_DIR) $(BUILD_EXE_NAME) $(BUILD_EXE_NAME): $(BUILD_OBJS) $(CXX) $(CXXFLAGS) $(BUILD_OBJS) $(LIBS) -o $(BUILD_EXE_NAME) ############################################################################### $(BUILD_DIR): mkdir $(BUILD_DIR) $(BUILD_DIR)/%.o:%.f90 ${F90} $(F90FLAGS) $(INCLUDES) -c -o $@ $< $(BUILD_DIR)/%.o:%.cpp $(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $< clean: echo erase the executable ${EXECUTABLE_NAME} and all *.o files rm -f $(BUILD_OBJS) $(BUILD_EXE_NAME) install: rm -f ${AASPI_BIN_DIR}/$(EXECUTABLE_NAME) cp $(BUILD_EXE_NAME) ${AASPI_BIN_DIR} ############################################################################### # DO NOT DELETE $(BUILD_DIR)/aaspi_segy_writer.o: $(AASPI_LIB_DIR)/libaaspi_io.a