1# *
2# *_________________________________________________________________________*
3# *      POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE     *
4# *      DESCRIPTION: SEE READ-ME                                           *
5# *      FILE NAME: Makefile                                                *
6# *      AUTHORS: See Author List                                           *
7# *      GRANTS: See Grants List                                            *
8# *      COPYRIGHT: (C) 2005 by Authors as listed in Author's List          *
9# *      LICENSE: Please see License Agreement                              *
10# *      DOWNLOAD: Free at www.rpi.edu/~anderk5                             *
11# *      ADMINISTRATOR: Prof. Kurt Anderson                                 *
12# *                     Computational Dynamics Lab                          *
13# *                     Rensselaer Polytechnic Institute                    *
14# *                     110 8th St. Troy NY 12180                           *
15# *      CONTACT:        anderk5@rpi.edu                                    *
16# *_________________________________________________________________________*/
17
18SHELL = /bin/sh
19
20# which file will be copied to Makefile.lammps
21
22EXTRAMAKE = Makefile.lammps.empty
23
24# ------ FILES ------
25
26SRC_MAIN = workspace.cpp system.cpp poemsobject.cpp
27INC_MAIN = workspace.h system.h poemsobject.h
28
29SRC_BODY =      body.cpp rigidbody.cpp particle.cpp inertialframe.cpp
30INC_BODY =      bodies.h body.h rigidbody.h particle.h inertialframe.h
31
32
33SRC_JOINT =     joint.cpp revolutejoint.cpp prismaticjoint.cpp sphericaljoint.cpp \
34    freebodyjoint.cpp body23joint.cpp mixedjoint.cpp
35INC_JOINT =     joints.h joint.h revolutejoint.h prismaticjoint.h sphericaljoint.h \
36    freebodyjoint.h body23joint.h mixedjoint.h
37
38SRC_POINT =     point.cpp fixedpoint.cpp
39INC_POINT =     points.h point.h fixedpoint.h
40
41SRC_SOLVE = solver.cpp
42INC_SOLVE = solver.h
43
44SRC_ORDERN = onsolver.cpp onfunctions.cpp onbody.cpp
45INC_ORDERN = onsolver.h onfunctions.h onbody.h
46
47SRC_MAT =       virtualmatrix.cpp matrix.cpp matrixfun.cpp mat3x3.cpp virtualcolmatrix.cpp \
48    colmatrix.cpp vect3.cpp virtualrowmatrix.cpp rowmatrix.cpp mat6x6.cpp vect6.cpp \
49    fastmatrixops.cpp colmatmap.cpp eulerparameters.cpp vect4.cpp norm.cpp mat4x4.cpp \
50
51INC_MAT =       matrices.h virtualmatrix.h matrix.h matrixfun.h mat3x3.h virtualcolmatrix.h \
52    colmatrix.h vect3.h virtualrowmatrix.h rowmatrix.h mat6x6.h vect6.h \
53    fastmatrixops.h colmatmap.h eulerparameters.h vect4.h norm.h mat4x4.h
54
55SRC_MISC = poemstreenode.cpp
56INC_MISC = poemslist.h poemstreenode.h poemstree.h poemsnodelib.h SystemProcessor.h defines.h POEMSChain.h
57
58SRC = $(SRC_MAIN) $(SRC_BODY) $(SRC_JOINT) $(SRC_POINT) $(SRC_SOLVE) $(SRC_ORDERN) $(SRC_MAT) $(SRC_MISC)
59INC = $(INC_MAIN) $(INC_BODY) $(INC_JOINT) $(INC_POINT) $(INC_SOLVE) $(INC_ORDERN) $(INC_MAT) $(INC_MISC)
60
61FILES = $(SRC) $(INC) Makefile Authors_List.txt Grants_List.txt POEMS_License.txt README Copyright_Notice
62
63# ------ DEFINITIONS ------
64
65LIB = libpoems.a
66OBJ =   $(SRC:.cpp=.o)
67
68# ------ SETTINGS ------
69
70CC =	        g++
71CCFLAGS =       -O3 -g -fPIC -Wall #-Wno-deprecated
72ARCHIVE =	ar
73ARCHFLAG =	-rc
74DEPFLAGS =      -M
75LINK =         	g++
76LINKFLAGS =	-O
77USRLIB =
78SYSLIB =
79
80# ------ MAKE PROCEDURE ------
81
82lib: 	$(OBJ)
83	$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
84	@cp $(EXTRAMAKE) Makefile.lammps
85
86# ------ COMPILE RULES ------
87
88%.o:%.cpp
89	$(CC) $(CCFLAGS) -c $<
90
91# ------ DEPENDENCIES ------
92
93include .depend
94
95# ------ CLEAN ------
96
97clean:
98	-rm *.o *.d *~ $(LIB)
99
100tar:
101	-tar -cvf ../POEMS.tar $(FILES)
102