@@ -3,11 +3,11 @@ PROGRAM_NAME := project
33
44CC := g++
55# CC := g++-mp-7 # typical macports compiler name
6- # CC := g++-7 # typical homebrew compiler name
6+ # CC := g++-7 # typical homebrew compiler name
77
8- # Check for environment definitions of compiler
8+ # Check for environment definitions of compiler
99# e.g., on CC = g++-7 on OSX
10- ifdef PHYSICELL_CPP
10+ ifdef PHYSICELL_CPP
1111 CC := $(PHYSICELL_CPP)
1212endif
1313
1818ARCH := native # best auto-tuning
1919# ARCH := core2 # a reasonably safe default for most CPUs since 2007
2020# ARCH := corei7
21- # ARCH := corei7-avx # earlier i7
22- # ARCH := core-avx-i # i7 ivy bridge or newer
21+ # ARCH := corei7-avx # earlier i7
22+ # ARCH := core-avx-i # i7 ivy bridge or newer
2323# ARCH := core-avx2 # i7 with Haswell or newer
2424# ARCH := nehalem
2525# ARCH := westmere
@@ -31,7 +31,7 @@ ARCH := native # best auto-tuning
3131# ARCH := bonnell
3232# ARCH := silvermont
3333# ARCH := skylake-avx512
34- # ARCH := nocona #64-bit pentium 4 or later
34+ # ARCH := nocona #64-bit pentium 4 or later
3535
3636# CFLAGS := -march=$(ARCH) -Ofast -s -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11
3737CFLAGS := -march=$(ARCH ) -O3 -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11
@@ -53,7 +53,7 @@ COMPILE_COMMAND := $(CC) $(CFLAGS) $(EXTRA_FLAGS)
5353LINK_COMMAND := $(CC ) $(CFLAGS_LINK ) $(EXTRA_FLAGS )
5454
5555BioFVM_OBJECTS := BioFVM_vector.o BioFVM_mesh.o BioFVM_microenvironment.o BioFVM_solvers.o BioFVM_matlab.o \
56- BioFVM_utilities.o BioFVM_basic_agent.o BioFVM_MultiCellDS.o BioFVM_agent_container.o
56+ BioFVM_utilities.o BioFVM_basic_agent.o BioFVM_MultiCellDS.o BioFVM_agent_container.o
5757
5858PhysiCell_core_OBJECTS := PhysiCell_phenotype.o PhysiCell_cell_container.o PhysiCell_standard_models.o \
5959PhysiCell_cell.o PhysiCell_custom.o PhysiCell_utilities.o PhysiCell_constants.o PhysiCell_basic_signaling.o \
@@ -71,10 +71,10 @@ pugixml_OBJECTS := pugixml.o
7171PhysiCell_OBJECTS := $(BioFVM_OBJECTS ) $(pugixml_OBJECTS ) $(PhysiCell_core_OBJECTS ) $(PhysiCell_module_OBJECTS )
7272ALL_OBJECTS := $(PhysiCell_OBJECTS ) $(PhysiCell_custom_module_OBJECTS )
7373
74- # compile the project
74+ # compile the project
7575
7676all : main.cpp $(ALL_OBJECTS )
77- $(COMPILE_COMMAND ) -o $(PROGRAM_NAME ) $(ALL_OBJECTS ) main.cpp
77+ $(COMPILE_COMMAND ) -o $(PROGRAM_NAME ) $(ALL_OBJECTS ) main.cpp
7878 make name
7979
8080static : main.cpp $(ALL_OBJECTS ) $(MaBoSS )
@@ -85,70 +85,70 @@ name:
8585 @echo " Executable name is" $(PROGRAM_NAME )
8686 @echo " "
8787
88- # PhysiCell core components
88+ # PhysiCell core components
8989
9090PhysiCell_phenotype.o : ./core/PhysiCell_phenotype.cpp
9191 $(COMPILE_COMMAND ) -c ./core/PhysiCell_phenotype.cpp
92-
92+
9393PhysiCell_digital_cell_line.o : ./core/PhysiCell_digital_cell_line.cpp
9494 $(COMPILE_COMMAND ) -c ./core/PhysiCell_digital_cell_line.cpp
9595
9696PhysiCell_cell.o : ./core/PhysiCell_cell.cpp
97- $(COMPILE_COMMAND ) -c ./core/PhysiCell_cell.cpp
97+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_cell.cpp
9898
9999PhysiCell_cell_container.o : ./core/PhysiCell_cell_container.cpp
100- $(COMPILE_COMMAND ) -c ./core/PhysiCell_cell_container.cpp
101-
100+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_cell_container.cpp
101+
102102PhysiCell_standard_models.o : ./core/PhysiCell_standard_models.cpp
103- $(COMPILE_COMMAND ) -c ./core/PhysiCell_standard_models.cpp
104-
103+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_standard_models.cpp
104+
105105PhysiCell_utilities.o : ./core/PhysiCell_utilities.cpp
106- $(COMPILE_COMMAND ) -c ./core/PhysiCell_utilities.cpp
107-
106+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_utilities.cpp
107+
108108PhysiCell_custom.o : ./core/PhysiCell_custom.cpp
109- $(COMPILE_COMMAND ) -c ./core/PhysiCell_custom.cpp
110-
109+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_custom.cpp
110+
111111PhysiCell_constants.o : ./core/PhysiCell_constants.cpp
112- $(COMPILE_COMMAND ) -c ./core/PhysiCell_constants.cpp
113-
112+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_constants.cpp
113+
114114PhysiCell_signal_behavior.o : ./core/PhysiCell_signal_behavior.cpp
115- $(COMPILE_COMMAND ) -c ./core/PhysiCell_signal_behavior.cpp
116-
115+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_signal_behavior.cpp
116+
117117PhysiCell_rules.o : ./core/PhysiCell_rules.cpp
118- $(COMPILE_COMMAND ) -c ./core/PhysiCell_rules.cpp
118+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_rules.cpp
119119
120120# BioFVM core components (needed by PhysiCell)
121-
121+
122122BioFVM_vector.o : ./BioFVM/BioFVM_vector.cpp
123- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_vector.cpp
123+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_vector.cpp
124124
125125BioFVM_agent_container.o : ./BioFVM/BioFVM_agent_container.cpp
126- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_agent_container.cpp
127-
126+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_agent_container.cpp
127+
128128BioFVM_mesh.o : ./BioFVM/BioFVM_mesh.cpp
129- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_mesh.cpp
129+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_mesh.cpp
130130
131131BioFVM_microenvironment.o : ./BioFVM/BioFVM_microenvironment.cpp
132- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_microenvironment.cpp
132+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_microenvironment.cpp
133133
134134BioFVM_solvers.o : ./BioFVM/BioFVM_solvers.cpp
135- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_solvers.cpp
135+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_solvers.cpp
136136
137137BioFVM_utilities.o : ./BioFVM/BioFVM_utilities.cpp
138- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_utilities.cpp
139-
138+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_utilities.cpp
139+
140140BioFVM_basic_agent.o : ./BioFVM/BioFVM_basic_agent.cpp
141- $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_basic_agent.cpp
142-
141+ $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_basic_agent.cpp
142+
143143BioFVM_matlab.o : ./BioFVM/BioFVM_matlab.cpp
144144 $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_matlab.cpp
145145
146146BioFVM_MultiCellDS.o : ./BioFVM/BioFVM_MultiCellDS.cpp
147147 $(COMPILE_COMMAND ) -c ./BioFVM/BioFVM_MultiCellDS.cpp
148-
148+
149149pugixml.o : ./BioFVM/pugixml.cpp
150150 $(COMPILE_COMMAND ) -c ./BioFVM/pugixml.cpp
151-
151+
152152# standard PhysiCell modules
153153
154154PhysiCell_SVG.o : ./modules/PhysiCell_SVG.cpp
@@ -165,158 +165,158 @@ PhysiCell_various_outputs.o: ./modules/PhysiCell_various_outputs.cpp
165165
166166PhysiCell_pugixml.o : ./modules/PhysiCell_pugixml.cpp
167167 $(COMPILE_COMMAND ) -c ./modules/PhysiCell_pugixml.cpp
168-
168+
169169PhysiCell_settings.o : ./modules/PhysiCell_settings.cpp
170170 $(COMPILE_COMMAND ) -c ./modules/PhysiCell_settings.cpp
171-
171+
172172PhysiCell_basic_signaling.o : ./core/PhysiCell_basic_signaling.cpp
173- $(COMPILE_COMMAND ) -c ./core/PhysiCell_basic_signaling.cpp
174-
173+ $(COMPILE_COMMAND ) -c ./core/PhysiCell_basic_signaling.cpp
174+
175175PhysiCell_geometry.o : ./modules/PhysiCell_geometry.cpp
176- $(COMPILE_COMMAND ) -c ./modules/PhysiCell_geometry.cpp
177-
176+ $(COMPILE_COMMAND ) -c ./modules/PhysiCell_geometry.cpp
177+
178178# user-defined PhysiCell modules
179179
180- custom.o : ./custom_modules/custom.cpp
180+ custom.o : ./custom_modules/custom.cpp
181181 $(COMPILE_COMMAND ) -c ./custom_modules/custom.cpp
182182
183183# cleanup
184184
185185reset :
186- rm -f * .cpp
187- cp ./sample_projects/Makefile-default Makefile
186+ rm -f * .cpp
187+ cp ./sample_projects/Makefile-default Makefile
188188 rm -f ./custom_modules/*
189- touch ./custom_modules/empty.txt
190- touch ALL_CITATIONS.txt
189+ touch ./custom_modules/empty.txt
190+ touch ALL_CITATIONS.txt
191191 touch ./core/PhysiCell_cell.cpp
192- rm ALL_CITATIONS.txt
193- cp ./config/PhysiCell_settings-backup.xml ./config/PhysiCell_settings.xml
192+ rm ALL_CITATIONS.txt
193+ cp ./config/PhysiCell_settings-backup.xml ./config/PhysiCell_settings.xml
194194 touch ./config/empty.csv
195195 rm -f ./config/* .csv
196-
196+
197197clean :
198198 rm -f * .o
199199 rm -f $(PROGRAM_NAME ) *
200-
200+
201201data-cleanup :
202202 rm -rf ./output
203203 mkdir ./output
204204 touch ./output/empty.txt
205-
206- # archival
207-
208- checkpoint :
209- zip -r $$(date +%b_%d_%Y_%H%M ) .zip Makefile * .cpp * .h config/* .xml custom_modules/*
210-
205+
206+ # archival
207+
208+ checkpoint :
209+ zip -r $$(date +%b_%d_%Y_%H%M ) .zip Makefile * .cpp * .h config/* .xml custom_modules/*
210+
211211zip :
212- zip -r latest.zip Makefile* * .cpp * .h BioFVM/* config/* core/* custom_modules/* matlab/* modules/* sample_projects/*
212+ zip -r latest.zip Makefile* * .cpp * .h BioFVM/* config/* core/* custom_modules/* matlab/* modules/* sample_projects/*
213213 cp latest.zip $$(date +%b_%d_%Y_%H%M ) .zip
214- cp latest.zip VERSION_$(VERSION ) .zip
214+ cp latest.zip VERSION_$(VERSION ) .zip
215215 mv * .zip archives/
216-
216+
217217tar :
218- tar --ignore-failed-read -czf latest.tar Makefile* * .cpp * .h BioFVM/* config/* core/* custom_modules/* matlab/* modules/* sample_projects/*
218+ tar --ignore-failed-read -czf latest.tar Makefile* * .cpp * .h BioFVM/* config/* core/* custom_modules/* matlab/* modules/* sample_projects/*
219219 cp latest.tar $$(date +%b_%d_%Y_%H%M ) .tar
220220 cp latest.tar VERSION_$(VERSION ) .tar
221221 mv * .tar archives/
222222
223- unzip :
224- cp ./archives/latest.zip .
225- unzip latest.zip
226-
227- untar :
223+ unzip :
224+ cp ./archives/latest.zip .
225+ unzip latest.zip
226+
227+ untar :
228228 cp ./archives/latest.tar .
229229 tar -xzf latest.tar
230230
231- # easier animation
231+ # easier animation
232232
233233FRAMERATE := 24
234234OUTPUT := output
235235
236- jpeg :
237- @magick identify -format " %h" $(OUTPUT ) /initial.svg > __H.txt
238- @magick identify -format " %w" $(OUTPUT ) /initial.svg > __W.txt
239- @expr 2 \* \( $$(grep . __H.txt ) / 2 \) > __H1.txt
240- @expr 2 \* \( $$(grep . __W.txt ) / 2 \) > __W1.txt
241- @echo " $$ (grep . __W1.txt)!x$$ (grep . __H1.txt)!" > __resize.txt
236+ jpeg :
237+ @magick identify -format " %h" $(OUTPUT ) /initial.svg > __H.txt
238+ @magick identify -format " %w" $(OUTPUT ) /initial.svg > __W.txt
239+ @expr 2 \* \( $$(grep . __H.txt ) / 2 \) > __H1.txt
240+ @expr 2 \* \( $$(grep . __W.txt ) / 2 \) > __W1.txt
241+ @echo " $$ (grep . __W1.txt)!x$$ (grep . __H1.txt)!" > __resize.txt
242242 @magick mogrify -format jpg -resize $$(grep . __resize.txt ) $(OUTPUT ) /s* .svg
243- rm -f __H* .txt __W* .txt __resize.txt
244-
245- gif :
246- magick convert $(OUTPUT ) /s* .svg $(OUTPUT ) /out.gif
247-
243+ rm -f __H* .txt __W* .txt __resize.txt
244+
245+ gif :
246+ magick convert $(OUTPUT ) /s* .svg $(OUTPUT ) /out.gif
247+
248248movie :
249249 ffmpeg -r $(FRAMERATE ) -f image2 -i $(OUTPUT ) /snapshot%08d.jpg -vcodec libx264 -pix_fmt yuv420p -strict -2 -tune animation -crf 15 -acodec none $(OUTPUT ) /out.mp4
250-
251- # upgrade rules
252250
253- SOURCE := PhysiCell_upgrade.zip
254- get-upgrade :
255- @echo $$(curl https://raw.githubusercontent.com/MathCancer/PhysiCell/master/VERSION.txt ) > VER.txt
256- @echo https://github.com/MathCancer/PhysiCell/releases/download/$$(grep . VER.txt ) /PhysiCell_V.$$(grep . VER.txt ) .zip > DL_FILE.txt
251+ # upgrade rules
252+
253+ SOURCE := PhysiCell_upgrade.zip
254+ get-upgrade :
255+ @echo $$(curl https://raw.githubusercontent.com/MathCancer/PhysiCell/master/VERSION.txt ) > VER.txt
256+ @echo https://github.com/MathCancer/PhysiCell/releases/download/$$(grep . VER.txt ) /PhysiCell_V.$$(grep . VER.txt ) .zip > DL_FILE.txt
257257 rm -f VER.txt
258258 $$(curl -L $$(grep . DL_FILE.txt ) --output PhysiCell_upgrade.zip )
259- rm -f DL_FILE.txt
259+ rm -f DL_FILE.txt
260260
261- PhysiCell_upgrade.zip :
262- make get-upgrade
261+ PhysiCell_upgrade.zip :
262+ make get-upgrade
263263
264264upgrade : $(SOURCE )
265265 unzip $(SOURCE ) PhysiCell/VERSION.txt
266- mv -f PhysiCell/VERSION.txt .
267- unzip $(SOURCE ) PhysiCell/core/*
268- cp -r PhysiCell/core/* core
269- unzip $(SOURCE ) PhysiCell/modules/*
270- cp -r PhysiCell/modules/* modules
271- unzip $(SOURCE ) PhysiCell/sample_projects/*
272- cp -r PhysiCell/sample_projects/* sample_projects
273- unzip $(SOURCE ) PhysiCell/BioFVM/*
266+ mv -f PhysiCell/VERSION.txt .
267+ unzip $(SOURCE ) PhysiCell/core/*
268+ cp -r PhysiCell/core/* core
269+ unzip $(SOURCE ) PhysiCell/modules/*
270+ cp -r PhysiCell/modules/* modules
271+ unzip $(SOURCE ) PhysiCell/sample_projects/*
272+ cp -r PhysiCell/sample_projects/* sample_projects
273+ unzip $(SOURCE ) PhysiCell/BioFVM/*
274274 cp -r PhysiCell/BioFVM/* BioFVM
275275 unzip $(SOURCE ) PhysiCell/documentation/User_Guide.pdf
276276 mv -f PhysiCell/documentation/User_Guide.pdf documentation
277277 rm -f -r PhysiCell
278- rm -f $(SOURCE )
278+ rm -f $(SOURCE )
279279
280280# use: make save PROJ=your_project_name
281281PROJ := my_project
282282
283- save :
283+ save :
284284 echo " Saving project as $( PROJ) ... "
285285 mkdir -p ./user_projects
286286 mkdir -p ./user_projects/$(PROJ )
287287 mkdir -p ./user_projects/$(PROJ ) /custom_modules
288- mkdir -p ./user_projects/$(PROJ ) /config
288+ mkdir -p ./user_projects/$(PROJ ) /config
289289 cp main.cpp ./user_projects/$(PROJ )
290290 cp Makefile ./user_projects/$(PROJ )
291291 cp VERSION.txt ./user_projects/$(PROJ )
292292 cp ./config/* ./user_projects/$(PROJ ) /config
293293 cp ./custom_modules/* ./user_projects/$(PROJ ) /custom_modules
294294
295- load :
295+ load :
296296 echo " Loading project from $( PROJ) ... "
297297 cp ./user_projects/$(PROJ ) /main.cpp .
298298 cp ./user_projects/$(PROJ ) /Makefile .
299- cp ./user_projects/$(PROJ ) /config/* ./config/
300- cp ./user_projects/$(PROJ ) /custom_modules/* ./custom_modules/
299+ cp ./user_projects/$(PROJ ) /config/* ./config/
300+ cp ./user_projects/$(PROJ ) /custom_modules/* ./custom_modules/
301301
302302pack :
303303 @echo " "
304304 @echo " Preparing project $( PROJ) for sharing ... "
305- @echo " "
305+ @echo " "
306306 cd ./user_projects && zip -r $(PROJ ) .zip $(PROJ )
307307 @echo " "
308308 @echo " Share ./user_projects/$( PROJ) .zip ... "
309309 @echo " Other users can unzip $( PROJ) .zip in their ./user_projects, compile, and run."
310- @echo " "
310+ @echo " "
311311
312312unpack :
313313 @echo " "
314314 @echo " Preparing shared project $( PROJ) .zip for use ... "
315- @echo " "
316- cd ./user_projects && unzip $(PROJ ) .zip
315+ @echo " "
316+ cd ./user_projects && unzip $(PROJ ) .zip
317317 @echo " "
318318 @echo " Load this project via make load PROJ=$( PROJ) ... "
319- @echo " "
319+ @echo " "
320320
321321list-user-projects :
322322 @echo " user projects::"
0 commit comments