Skip to content

Commit fad8c97

Browse files
committed
MAKE - ENHANCEMENT - Update version file handling in build scripts to prevent unnecessary re-builds and improve make command instructions
1 parent f0d5e6e commit fad8c97

File tree

3 files changed

+50
-70
lines changed

3 files changed

+50
-70
lines changed

install/DEFAULTS.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@
359359
#-----------------------------------------------------------------
360360
#
361361
# Now compile using
362-
# $ make
362+
# $ make -j 8 2>&1 | tee make.log
363363
#
364364
#-----------------------------------------------------------------
365365
# general defaults

install/DEPENDENCIES.inc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
# PENTRC
9292
../pentrc/lsode1.o: ../equil/local.o ../lsode/lsode.o
9393
../pentrc/lsode2.o: ../equil/local.o ../lsode/lsode.o
94-
../pentrc/params.o: ../equil/local.o pentrcversion
94+
../pentrc/params.o: ../equil/local.o ../pentrc/version.inc
9595
../pentrc/utilities.o: ../equil/local.o ../pentrc/params.o
9696
../pentrc/special.o: ../equil/local.o ../pentrc/params.o ../pentrc/utilities.o
9797
../pentrc/dcon_interface.o: ../equil/local.o ../pentrc/params.o ../pentrc/utilities.o ../equil/spline.o ../equil/fspline.o ../equil/cspline.o ../equil/bicube.o
@@ -125,7 +125,7 @@
125125

126126
# RDCON
127127
../rdcon/dcon_mod.o: ../equil/spline.o ../equil/global.o \
128-
../equil/equil.o ../equil/equil_out.o rdconversion
128+
../equil/equil.o ../equil/equil_out.o ../rdcon/version.inc
129129
../rdcon/toolbox.o: ../rdcon/dcon_mod.o
130130
../rdcon/mercier.o: ../rdcon/dcon_mod.o
131131
../rdcon/bal.o: ../rdcon/dcon_mod.o
@@ -144,7 +144,7 @@
144144

145145
# STRIDE
146146
../stride/dcon_mod.o: ../equil/spline.o ../equil/global.o \
147-
../equil/equil.o ../equil/equil_out.o strideversion
147+
../equil/equil.o ../equil/equil_out.o ../stride/version.inc
148148
../stride/mercier.o: ../stride/dcon_mod.o
149149
../stride/bal.o: ../stride/dcon_mod.o
150150
../stride/fourfit.o: ../equil/fspline.o ../stride/dcon_mod.o
@@ -198,7 +198,7 @@
198198
../slayer/slayer.o : ../slayer/sglobal.o ../slayer/params.o ../slayer/delta.o
199199

200200
# COIL
201-
../coil/coil.o: ../equil/local.o ../equil/bicube.o coilversion
201+
../coil/coil.o: ../equil/local.o ../equil/bicube.o ../coil/version.inc
202202
../coil/field.o: ../coil/coil.o
203203

204204
# GPEC
@@ -211,14 +211,14 @@
211211
../gpec/gpvacuum.o : ../gpec/gpeq.o
212212
../gpec/gpdiag.o: ../gpec/gpresp.o ../gpec/gpvacuum.o
213213
../gpec/gpout.o: ../gpec/gpdiag.o ../gpec/gpresp.o ../gpec/gpvacuum.o ../coil/field.o ../coil/coil.o \
214-
../equil/equil.o ../equil/equil_out.o \
215-
../pentrc/pentrc_interface.o ../pentrc/inputs.o \
216-
../slayer/gslayer.o \
217-
gpecversion
214+
../equil/equil.o ../equil/equil_out.o \
215+
../pentrc/pentrc_interface.o ../pentrc/inputs.o \
216+
../slayer/gslayer.o \
217+
../gpec/version.inc
218218
../gpec/gpec.o: ../gpec/gpdiag.o ../gpec/gpout.o ../gpec/rdcon.o
219219

220220
# XDraw
221221
# no dependencies
222222

223223
# Full project dependencies
224-
$(ALL_OBJS): v neededdeps
224+
$(ALL_OBJS): | v neededdeps

install/TARGETS.inc

Lines changed: 40 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -133,18 +133,14 @@ vacuum: v neededdeps $(VACUUM_OBJS) equil lsode
133133
ar -r $(LIBDIR)/libvac.a $(VACUUM_OBJS)
134134

135135
# PENTRC code
136-
ifeq ($(wildcard ../pentrc/version.inc),)
137-
pentrcversion: v force
138-
@echo ">>> Creating version file"
139-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../pentrc/version.inc
140-
else ifeq ($(shell grep -F "'"`git describe --tags`"'" ../pentrc/version.inc),)
141-
pentrcversion: v force
142-
@echo ">>> Updating version file"
143-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../pentrc/version.inc
144-
else
145-
pentrcversion: v
146-
@echo ">>> Git version unchanged!"
147-
endif
136+
../pentrc/version.inc:
137+
@ver="`git describe --tags`"; \
138+
if [ ! -f $@ ] || ! grep -F "'$$ver'" $@ >/dev/null 2>&1; then \
139+
echo ">>> Updating version file"; \
140+
echo " CHARACTER(len=*), PARAMETER :: version ='$$ver'" | tee $@; \
141+
else \
142+
echo ">>> Git version unchanged!"; \
143+
fi
148144
PENTRC_LIBS = \
149145
-llsode \
150146
-lequil \
@@ -189,18 +185,14 @@ dcon: v neededdeps $(DCON_OBJS) equil lsode vacuum pentrc harvest
189185
cp ../dcon/dcon $(BINDIR)
190186

191187
# RDCON code
192-
ifeq ($(wildcard ../rdcon/version.inc),)
193-
rdconversion: v force
194-
@echo ">>> Creating version file"
195-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../rdcon/version.inc
196-
else ifeq ($(shell grep -F "'"`git describe --tags`"'" ../rdcon/version.inc),)
197-
rdconversion: v force
198-
@echo ">>> Updating version file"
199-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../rdcon/version.inc
200-
else
201-
rdconversion: v force
202-
@echo ">>> Git version unchanged!"
203-
endif
188+
../rdcon/version.inc:
189+
@ver="`git describe --tags`"; \
190+
if [ ! -f $@ ] || ! grep -F "'$$ver'" $@ >/dev/null 2>&1; then \
191+
echo ">>> Updating version file"; \
192+
echo " CHARACTER(len=*), PARAMETER :: version ='$$ver'" | tee $@; \
193+
else \
194+
echo ">>> Git version unchanged!"; \
195+
fi
204196
RDCON_LIBS = \
205197
-lpthread \
206198
-llsode \
@@ -222,18 +214,14 @@ rdcon: v neededdeps $(RDCON_OBJS) equil lsode vacuum
222214
cp ../rdcon/rdcon $(BINDIR)
223215

224216
# STRIDE code
225-
ifeq ($(wildcard ../stride/version.inc),)
226-
strideversion: v force
227-
@echo ">>> Creating version file"
228-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../stride/version.inc
229-
else ifeq ($(shell grep -F "'"`git describe --tags`"'" ../stride/version.inc),)
230-
strideversion: v force
231-
@echo ">>> Updating version file"
232-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../stride/version.inc
233-
else
234-
strideversion: v force
235-
@echo ">>> Git version unchanged!"
236-
endif
217+
../stride/version.inc:
218+
@ver="`git describe --tags`"; \
219+
if [ ! -f $@ ] || ! grep -F "'$$ver'" $@ >/dev/null 2>&1; then \
220+
echo ">>> Updating version file"; \
221+
echo " CHARACTER(len=*), PARAMETER :: version ='$$ver'" | tee $@; \
222+
else \
223+
echo ">>> Git version unchanged!"; \
224+
fi
237225
STRIDE_LIBS = \
238226
-lzvode \
239227
-lzlange \
@@ -331,18 +319,14 @@ sum: v neededdeps $(SUM_OBJS) equil
331319
cp ../sum/sum $(BINDIR)
332320

333321
# Coil library
334-
ifeq ($(wildcard ../coil/version.inc),)
335-
coilversion: v force
336-
@echo ">>> Creating version file"
337-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../coil/version.inc
338-
else ifeq ($(shell grep -F "'"`git describe --tags`"'" ../coil/version.inc),)
339-
coilversion: v force
340-
@echo ">>> Updating version file"
341-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../coil/version.inc
342-
else
343-
coilversion: v force
344-
@echo ">>> Git version unchanged!"
345-
endif
322+
../coil/version.inc:
323+
@ver="`git describe --tags`"; \
324+
if [ ! -f $@ ] || ! grep -F "'$$ver'" $@ >/dev/null 2>&1; then \
325+
echo ">>> Updating version file"; \
326+
echo " CHARACTER(len=*), PARAMETER :: version ='$$ver'" | tee $@; \
327+
else \
328+
echo ">>> Git version unchanged!"; \
329+
fi
346330
coil: v neededdeps $(COIL_OBJS)
347331
mkdir -p $(LIBDIR)
348332
ar -r $(LIBDIR)/libcoil.a $(COIL_OBJS)
@@ -351,18 +335,14 @@ coil: v neededdeps $(COIL_OBJS)
351335
# decide if we need to update the version
352336
# note gpec keeps track of its own version, which can differ from the synced dcon, pentrc, and stride ones
353337
# this enables faster compiling during development
354-
ifeq ($(wildcard ../gpec/version.inc),)
355-
gpecversion: v force
356-
@echo ">>> Creating version file"
357-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../gpec/version.inc
358-
else ifeq ($(shell grep -F "'"`git describe --tags`"'" ../gpec/version.inc),)
359-
gpecversion: v force
360-
@echo ">>> Updating version file"
361-
@echo " CHARACTER(len=*), PARAMETER :: version ='"`git describe --tags`"'" | tee ../gpec/version.inc
362-
else
363-
gpecversion: v force
364-
@echo ">>> Git version unchanged!"
365-
endif
338+
../gpec/version.inc:
339+
@ver="`git describe --tags`"; \
340+
if [ ! -f $@ ] || ! grep -F "'$$ver'" $@ >/dev/null 2>&1; then \
341+
echo ">>> Updating version file"; \
342+
echo " CHARACTER(len=*), PARAMETER :: version ='$$ver'" | tee $@; \
343+
else \
344+
echo ">>> Git version unchanged!"; \
345+
fi
366346
GPEC_LIBS = \
367347
-lpentrc \
368348
-llsode \

0 commit comments

Comments
 (0)