Implement a config.h to move defines off the compile line and reduce builds
This commit is contained in:
@@ -23,7 +23,7 @@ PSI_LIBS = \
|
||||
$(LIB_TCL8) $(LIB_HDF5) -lpthread \
|
||||
-ldl -lz -lm -lc $(LIB_MXML) $(LIB_JSON)
|
||||
PSI_CFLAGS += -MMD
|
||||
PSI_CFLAGS += -DSITE_ANSTO=1
|
||||
PSI_CFLAGS += -DSITE_ANSTO
|
||||
|
||||
../%.o : ../%.c
|
||||
cd ..; $(CC) -c $(PSI_CFLAGS) $*.c -o $*.o
|
||||
@@ -104,26 +104,12 @@ ifeq (,$(LIB_HTTP))
|
||||
$(warning LIB_HTTP not found)
|
||||
endif
|
||||
|
||||
SICS_SITE = $(shell bash extract_version.sh SITE)
|
||||
SICS_VERSION = $(shell bash extract_version.sh VERSION)
|
||||
SICS_REVISION = $(shell bash extract_version.sh REVISION)
|
||||
$(info Site text is "${SICS_SITE}")
|
||||
$(info Version text is "${SICS_VERSION}")
|
||||
$(info Revision text is "${SICS_REVISION}")
|
||||
|
||||
ifneq (,$(wildcard site_ansto.o))
|
||||
$(info Removing site_ansto.o to force recompile)
|
||||
$(shell rm -f site_ansto.o)
|
||||
endif
|
||||
#
|
||||
DEBUGFLAGS = -Wall -Wextra -Wno-unused -Wno-comment -Wno-switch
|
||||
CFLAGS = -g -std=gnu99
|
||||
CFLAGS += $(INCFLAGS)
|
||||
CFLAGS += $(DEBUGFLAGS)
|
||||
CFLAGS += -MMD
|
||||
CFLAGS += -DSICS_SITE='"${SICS_SITE}"'
|
||||
CFLAGS += -DSICS_VERSION='"${SICS_VERSION}"'
|
||||
CFLAGS += -DSICS_REVISION='"${SICS_REVISION}"'
|
||||
|
||||
SRC = ./../..
|
||||
SITENAME = _ansto
|
||||
@@ -177,9 +163,15 @@ OBJ= site_ansto.o anstoutil.o\
|
||||
beamstopaction.o action.o \
|
||||
tclClock.o tclDate.o tclUnixTime.o
|
||||
|
||||
all: ../matrix/libmatrix.a $(COREOBJ:%=../%) $(EXTRA:%=../%) libansto.a libhardsup
|
||||
all: config ../matrix/libmatrix.a $(COREOBJ:%=../%) $(EXTRA:%=../%) libansto.a libhardsup
|
||||
$(CC) -g -o SICServer $(COREOBJ:%=../%) $(EXTRA:%=../%) $(SUBLIBS) $(PSI_SLIBS:%=../%) $(PSI_LIBS) $(GHTTP_LIBS)
|
||||
|
||||
config:
|
||||
@bash make_config.sh
|
||||
|
||||
xref: all
|
||||
python xref.py $(COREOBJ:%=../%) $(EXTRA:%=../%) $(SUBLIBS) $(PSI_SLIBS:%=../%) $(PSI_LIBS) $(GHTTP_LIBS)
|
||||
|
||||
#TODO Add targets for other instruments
|
||||
echidna: all
|
||||
make -C instrument/hrpd
|
||||
|
||||
24
site_ansto/make_config.sh
Executable file
24
site_ansto/make_config.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Write a new config.h, but only if changed
|
||||
#
|
||||
rm -f config_new.h
|
||||
SICS_SITE=$(bash extract_version.sh SITE)
|
||||
SICS_VERSION=$(bash extract_version.sh VERSION)
|
||||
SICS_REVISION=$(bash extract_version.sh REVISION)
|
||||
echo "#define SICS_SITE \"$SICS_SITE\"" >> config_new.h
|
||||
echo "#define SICS_VERSION \"$SICS_VERSION\"" >> config_new.h
|
||||
echo "#define SICS_REVISION \"$SICS_REVISION\"" >> config_new.h
|
||||
if [[ -f /usr/include/valgrind/memcheck.h ]]
|
||||
then
|
||||
echo "#define SICS_VALGRIND" >> config_new.h
|
||||
fi
|
||||
delta=$(diff -q config.h config_new.h 2>> /dev/null)
|
||||
if [[ $? == 0 ]]
|
||||
then
|
||||
echo "config not changed"
|
||||
rm -f config_new.h
|
||||
else
|
||||
echo "config updated"
|
||||
mv -f --backup config_new.h config.h
|
||||
fi
|
||||
@@ -11,6 +11,7 @@
|
||||
$Name: not supported by cvs2svn $
|
||||
$Revision: 1.23.2.5 $
|
||||
-----------------------------------------------------------------------*/
|
||||
#include "config.h"
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <glob.h>
|
||||
|
||||
Reference in New Issue
Block a user