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 \
|
$(LIB_TCL8) $(LIB_HDF5) -lpthread \
|
||||||
-ldl -lz -lm -lc $(LIB_MXML) $(LIB_JSON)
|
-ldl -lz -lm -lc $(LIB_MXML) $(LIB_JSON)
|
||||||
PSI_CFLAGS += -MMD
|
PSI_CFLAGS += -MMD
|
||||||
PSI_CFLAGS += -DSITE_ANSTO=1
|
PSI_CFLAGS += -DSITE_ANSTO
|
||||||
|
|
||||||
../%.o : ../%.c
|
../%.o : ../%.c
|
||||||
cd ..; $(CC) -c $(PSI_CFLAGS) $*.c -o $*.o
|
cd ..; $(CC) -c $(PSI_CFLAGS) $*.c -o $*.o
|
||||||
@@ -104,26 +104,12 @@ ifeq (,$(LIB_HTTP))
|
|||||||
$(warning LIB_HTTP not found)
|
$(warning LIB_HTTP not found)
|
||||||
endif
|
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
|
DEBUGFLAGS = -Wall -Wextra -Wno-unused -Wno-comment -Wno-switch
|
||||||
CFLAGS = -g -std=gnu99
|
CFLAGS = -g -std=gnu99
|
||||||
CFLAGS += $(INCFLAGS)
|
CFLAGS += $(INCFLAGS)
|
||||||
CFLAGS += $(DEBUGFLAGS)
|
CFLAGS += $(DEBUGFLAGS)
|
||||||
CFLAGS += -MMD
|
CFLAGS += -MMD
|
||||||
CFLAGS += -DSICS_SITE='"${SICS_SITE}"'
|
|
||||||
CFLAGS += -DSICS_VERSION='"${SICS_VERSION}"'
|
|
||||||
CFLAGS += -DSICS_REVISION='"${SICS_REVISION}"'
|
|
||||||
|
|
||||||
SRC = ./../..
|
SRC = ./../..
|
||||||
SITENAME = _ansto
|
SITENAME = _ansto
|
||||||
@@ -177,9 +163,15 @@ OBJ= site_ansto.o anstoutil.o\
|
|||||||
beamstopaction.o action.o \
|
beamstopaction.o action.o \
|
||||||
tclClock.o tclDate.o tclUnixTime.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)
|
$(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
|
#TODO Add targets for other instruments
|
||||||
echidna: all
|
echidna: all
|
||||||
make -C instrument/hrpd
|
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 $
|
$Name: not supported by cvs2svn $
|
||||||
$Revision: 1.23.2.5 $
|
$Revision: 1.23.2.5 $
|
||||||
-----------------------------------------------------------------------*/
|
-----------------------------------------------------------------------*/
|
||||||
|
#include "config.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <glob.h>
|
#include <glob.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user