source: PSPA/madxPSPA/Makefile @ 457

Last change on this file since 457 was 430, checked in by touze, 11 years ago

import madx-5.01.00

File size: 3.8 KB
Line 
1# |
2# o---------------------------------------------------------------------o
3# |
4# | MAD makefile
5# |
6# o---------------------------------------------------------------------o
7# |
8# | Methodical Accelerator Design
9# |
10# | Copyright (c) 2011+ CERN, mad@cern.ch
11# |
12# | For more information, see http://cern.ch/mad
13# |
14# o---------------------------------------------------------------------o
15# |
16# | $Id$
17# |
18
19# For makefile documentation, please read make/README
20# For information and bug report, please contact mad@cern.ch
21#
22# See below for examples of using madx Makefile (see also make/README):
23#   - toggle yes/no flags to set up your configuration
24#   - by default madx uses the fortran compiler for linking (i.e. LD = FC)
25#   - note that gfortran 4.4 or higher is required to compile madx
26
27# clean all build files generated by Lahey 32 bits compiler for madx32
28#   - depends on OSTYPE (detected), FC and ARCH !!!
29# make FC=lf95 ARCH=32 cleanall
30
31# show all the infomation collected by the makefile for Intel 64 bits compilers
32#   - depends on user setup, ARCH is detected !!!
33# make CC=icc FC=ifort infoall
34
35# use complilers famillies shortcuts (default GNU=yes)
36# make GNU=yes   infoall (equiv. to CC=gcc CXX=g++ FC=gfortran LD=gfortran)
37# make Intel=yes infoall (equiv. to CC=icc CXX=icc FC=ifort LD=ifort on Unix)
38# make Intel=yes infoall (equiv. to CC=icl CXX=icl FC=ifort LD=ifort on Windows)
39
40# build madx32 static online version for debug using Nag fortran compiler/linker
41# make FC=nagfor ARCH=32 STATIC=yes ONLINE=yes DEBUG=yes
42
43# build madx64 online version using Intel ifort compiler/linker and show commands
44# make FC=ifort ONLINE=yes SHOW=yes
45
46# build madx32 static online version using gfortran44 as compiler/linker
47# make FC=gfortran44 FCNAME=gfortran ARCH=32 STATIC=yes ONLINE=yes
48
49###################
50# Project settings
51
52PROJECT  := madx
53
54# online version - includes SDDS I/O: yes/no (default is no)
55ONLINE   := no
56
57# alternative DA package: yes/no (default is yes)
58NTPSA    := yes
59
60# memory leaks debug: yes/no (default is no)
61MEMLEAKS := no
62
63#################
64# Build settings
65#
66
67# architecture bit: detect/32/64 (default is detect)
68ARCH    := detect
69
70# debugging mode: yes/no (default is no)
71DEBUG   := no
72
73# profiling mode: yes/no (default is no)
74PROFILE := no
75
76# link with static libs: yes/no (default is no)
77STATIC  := no
78
79# plugin dynamic loading: yes/no (default is no)
80PLUGIN  := no
81
82#############################
83# Compilers, Linkers, Testers settings
84# see make/compiler.* for supported compilers
85# GNU=yes   sets CC=gcc,     CXX=g++,     FC=gfortran (default)
86# Intel=yes sets CC=icc/icl, CXX=icc/icl, FC=ifort    (use icl on Windows)
87
88# C compiler (default is gcc)
89CC  := gcc
90
91# C++ compiler (default is g++)
92CXX := g++
93
94# Fortran compiler (default is gfortran)
95FC  := gfortran
96
97# Linker (default is Fortran compiler, deferred)
98LD   = $(FC)
99
100# Tester (default is numdiff)
101ND  := numdiff
102
103####################
104# Includes settings
105
106# makefiles to include (in this order, all optional, here are default names)
107FILE_PRE  := Makefile_pre          # user's preprocessing extra stuff
108FILE_VER  := VERSION               # setup project VERSION and VERSION_DATE
109FILE_CPP  := Makefile_cpp          # setup project specific CPPFLAGS defines
110FILE_C    := Makefile_c            # setup project CC_SRC and CC_HDR
111FILE_CXX  := Makefile_cxx          # setup project CXX_SRC and CXX_HDR
112FILE_F90  := Makefile_f90          # setup project FC_SRC
113FILE_LIB  := Makefile_lib          # setup project LIBS paths and libs
114FILE_SYS  := Makefile_sys          # setup project System specific stuffs
115FILE_TEST := Makefile_test         # setup project tests
116FILE_POST := Makefile_post         # user's postprocessing extra stuff
117
118####################
119# Makefile includes
120
121makedir := make
122include $(makedir)/make.inc
123
124# end of makefile
Note: See TracBrowser for help on using the repository browser.