git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@8601 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2012-08-10 23:13:04 +00:00
parent 5004a8385b
commit 9d3193011b
5 changed files with 86 additions and 14 deletions

View File

@ -63,7 +63,7 @@ if (test $1 = "style") then
style READER_CLASS reader_ reader read_dump
style REGION_CLASS region_ region domain
# edit Makefile.lib
# edit Makefile.lib, for creating non-shared lib
# called by "make makelib"
# use current list of *.cpp and *.h files in src dir w/out main.cpp
@ -74,6 +74,17 @@ elif (test $1 = "Makefile.lib") then
list=`ls -1 *.h | tr "[:cntrl:]" " "`
sed -i -e "s/INC = .*/INC = $list/" Makefile.lib
# edit Makefile.lib, for creating non-shared lib
# called by "make makelib"
# use current list of *.cpp and *.h files in src dir w/out main.cpp
elif (test $1 = "Makefile.shlib") then
list=`ls -1 *.cpp | sed s/^main\.cpp// | tr "[:cntrl:]" " "`
sed -i -e "s/SRC = .*/SRC = $list/" Makefile.shlib
list=`ls -1 *.h | tr "[:cntrl:]" " "`
sed -i -e "s/INC = .*/INC = $list/" Makefile.shlib
# edit Makefile.list
# called by "make makelist"
# use current list of *.cpp and *.h files in src dir

View File

@ -39,7 +39,8 @@ help:
@echo 'make clean-all delete all object files'
@echo 'make clean-machine delete object files for one machine'
@echo 'make tar lmp_src.tar.gz of src dir and packages'
@echo 'make makelib update Makefile.lib for library build'
@echo 'make makelib update Makefile.lib for static library build'
@echo 'make makeshlib update Makefile.shlib for shared library build'
@echo 'make makelist update Makefile.list used by old makes'
@echo ''
@echo 'make package list available packages'
@ -78,7 +79,7 @@ help:
then cp Makefile.package.settings.empty Makefile.package.settings; fi
@cp Makefile.package Makefile.package.settings Obj_$@
@cd Obj_$@; \
$(MAKE) $(MFLAGS) "OBJ = $(OBJ)" "INC = $(INC)" \
$(MAKE) $(MFLAGS) "OBJ = $(OBJ)" "INC = $(INC)" "SHFLAGS =" \
"EXE = ../$(EXE)" ../$(EXE)
@if [ -d Obj_$@ ]; then cd Obj_$@; rm -f $(SRC) $(INC) Makefile*; fi
@ -116,6 +117,10 @@ makelib:
@$(SHELL) Make.sh style
@$(SHELL) Make.sh Makefile.lib
makeshlib:
@$(SHELL) Make.sh style
@$(SHELL) Make.sh Makefile.shlib
makelist:
@$(SHELL) Make.sh style
@$(SHELL) Make.sh Makefile.list

View File

@ -1,4 +1,4 @@
# LAMMPS library multiple-machine Makefile
# LAMMPS static library multiple-machine Makefile
SHELL = /bin/sh
@ -35,5 +35,6 @@ clean:
then cp Makefile.package.settings.empty Makefile.package.settings; fi
@cp Makefile.package Makefile.package.settings Obj_$@
@cd Obj_$@; \
$(MAKE) $(MFLAGS) "OBJ = $(OBJ)" "INC = $(INC)" "EXE = ../$(EXE)" lib
$(MAKE) $(MFLAGS) "OBJ = $(OBJ)" "INC = $(INC)" "SHFLAGS =" \
"EXE = ../$(EXE)" lib
@if [ -d Obj_$@ ]; then cd Obj_$@; rm -f $(SRC) $(INC) Makefile*; fi

43
src/Makefile.shlib Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,11 @@
# Makefile for MPI stubs - edit this for your platform
# Makefile for MPI stubs library
# Syntax:
# make # build static lib as libmpi_stubs.a
# make shlib # build shared lib as libmpi_stubs.so
# make clean # remove *.o and lib files
# edit System-specific settings as needed for your platform
SHELL = /bin/sh
.IGNORE:
@ -10,30 +17,35 @@ INC = mpi.h
# Definitions
EXE = libmpi.a
EXE = libmpi_stubs.a
SHLIB = libmpi_stubs.so
OBJ = $(SRC:.c=.o)
# System-specific settings
CC = cc
CCFLAGS = -O # -fPIC
CC = g++
CCFLAGS = -O
SHFLAGS = -fPIC
ARCHIVE = ar
ARCHFLAG = rs
SHLIBFLAGS = -shared
# Target
# Targets
$(EXE): $(OBJ)
lib: $(OBJ)
$(ARCHIVE) $(ARCHFLAG) $(EXE) $(OBJ)
# Clean
shlib: $(OBJ)
$(CC) $(CFLAGS) $(SHFLAGS) $(SHLIBFLAGS) -o $(SHLIB) $(OBJ)
clean:
rm *.o libmpi.a
rm -f *.o libmpi_stubs.a libmpi_stubs.so
# Compilation rules
.c.o:
$(CC) $(CCFLAGS) -c $<
$(CC) $(CCFLAGS) $(SHFLAGS) -c $<
# Individual dependencies