diff --git a/Makefile.in b/Makefile.in index 410196c24dd040d33afa1cdfd461963432319350..b1522d6c42b6f284600e25c6fc738cbe01d0487f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -35,9 +35,8 @@ DEVFLAGS=@DEVFLAGS@ $(eval epics_bld_dir := $(model_bld_dir)/epics/) - @mkdir -p src/epics/util src/fe src/epics/fmseq src/include + @mkdir -p src/epics/util src/fe src/epics/fmseq src/fe/$@/include @ln -fs $(srcdir)/src/epics/util/lib src/epics/util > /dev/null 2>&1 || /bin/true - @ln -fs $(srcdir)/src/include/drv src/include > /dev/null 2>&1 || /bin/true @ln -fs $(srcdir)/src/epics/simLink src/epics > /dev/null 2>&1 || /bin/true @ln -fs $(srcdir)/src/epics/util/Makefile.kernel src/epics/util > /dev/null 2>&1 || /bin/true @ln -fs $(srcdir)/src/epics/util/Userspace_CMakeLists.cmake src/epics/util > /dev/null 2>&1 @@ -80,6 +79,8 @@ endif @#Save build config and source files for traceability @/bin/mkdir -p $(epics_bld_dir)/target/src @echo $(srcdir) > $(epics_bld_dir)/target/src/rcg_location.txt + @(cd $(srcdir) && git rev-parse HEAD) > $(epics_bld_dir)/target/src/rcg_git_hash.txt + @(cd $(srcdir) && git --no-pager diff) > $(epics_bld_dir)/target/src/rcg_git_diff.txt @echo Build date `date` > $(epics_bld_dir)/target/src/build.txt @echo Compiled on `hostname` >> $(epics_bld_dir)/target/src/build.txt @echo RCG_LIB_PATH=${RCG_LIB_PATH} >> $(epics_bld_dir)/target/src/build.txt diff --git a/config/Makefile.linux b/config/Makefile.linux index c59cbb423d15d3f71d429359a2be48422dd579da..77c726cd3d1163348e8ad613ff9bff425b677379 100644 --- a/config/Makefile.linux +++ b/config/Makefile.linux @@ -1,5 +1,6 @@ # Linux Epics IOC system build rules +MODEL_NAME := $(subst epics,,$(TARGET)) EPICS_VERSION := $(shell pkg-config --modversion epics-base) EPICS_BIN_PATH := $(shell pkg-config --variable=bindir epics-base) @@ -19,7 +20,7 @@ PREPROCESS = /usr/bin/gcc -x c -E -P CFLAGS += $(EXTRA_CFLAGS) CFLAGS += $(shell pkg-config --cflags epics-base) CFLAGS += -I/usr/lib/rmnet -I/usr/lib/rfm2g -CFLAGS += -Isrc/include +CFLAGS += -I$(EPICS_BUILD_DIR)/../include CFLAGS += -I$(RCG_SRC_DIR)/src/include -I$(RCG_SRC_DIR)/src/include/drv ifeq (,$(findstring tcsepics, $(TARGET))) CFLAGS += -DRFM_EPICS -DNO_FM10GEN_C_CODE @@ -209,7 +210,7 @@ $(EPICS_SRC_DIR)/%.i: $(EPICS_SRC_DIR)/%.st $(EPICS_SRC_DIR)/%.st: src/epics/fmseq/% $(FMSEQFILES) (cd src/epics/fmseq; \ cat $(notdir $<) | cpp $(CFLAGS) - | grep -v ^# | $(if $(FMSEQ), $(FMSEQ), $(RCG_SRC_DIR)/src/epics/util/fmseq.pl) $(notdir $<) &&\ - mv $(notdir $<)_proc.h ../../include/ &&\ + mv $(notdir $<)_proc.h ../../fe/$(MODEL_NAME)/include/ &&\ mv $(notdir $<).* ../../../$(EPICS_SRC_DIR)) diff --git a/install b/install index 0cea539021b6ba34148409723d2cad4dec22796f..99ee576660b9ffa00d26c73379100f67e21d31c0 100755 --- a/install +++ b/install @@ -10,7 +10,10 @@ else srcdir=$2 fi -EPICS_TARGET_DIR=src/fe/${system}/epics/target/ +MODEL_BUILD_DIR=src/fe/${system} +MODEL_INC_DIR=src/fe/${system}/include +EPICS_BUILD_DIR=${MODEL_BUILD_DIR}/epics/ +EPICS_TARGET_DIR=${EPICS_BUILD_DIR}/target/ if ! test -e ${EPICS_TARGET_DIR}; then echo "Please make $system first." >&2 @@ -26,15 +29,13 @@ site=${site^^*} ifo=${ifo^^*} site_letter=${ifo:0:1} upper_system=`echo $system | tr a-z A-Z` -targetcpu=`grep TARGET_CPU src/include/${system}.h | head -1 | awk '{print $3}'` +targetcpu=`grep TARGET_CPU ${MODEL_INC_DIR}/${system}.h | head -1 | awk '{print $3}'` cur_date=`date +%y%m%d_%H%M%S` RTCDS=/opt/rtcds/${site,,*}/${ifo,,*} TARGET=$RTCDS/target/${system} ARCHIVE=$RTCDS/target_archive/${system}/${system}_$cur_date -EPICS_BUILD_DIR="src/fe/${system}/epics/" - echo "Installing system=$system site=$site ifo=$ifo" mkdir -p $TARGET @@ -120,7 +121,7 @@ if [ x$gds_node != "x" ]; then echo "Installing GDS components..." datarate=`grep datarate ${EPICS_BUILD_DIR}/src/${system}.par | head -1 | sed 's/[^0-9]*\([0-9]*\)/\1/'` - targethost=`grep TARGET_HOST_NAME src/include/${system}.h | head -1 | awk '{print $3}'` + targethost=`grep TARGET_HOST_NAME ${MODEL_INC_DIR}/${system}.h | head -1 | awk '{print $3}'` if test ${datarate} -lt 16384; then datarate_mult=`expr ${datarate} / 2048` else diff --git a/src/epics/util/feCodeGen.pl b/src/epics/util/feCodeGen.pl index 99c451f1634f98e6f36e58b4e0f2907032380398..bbd27f73683e2f1ec7e77050b10c96eb1ca80d9c 100755 --- a/src/epics/util/feCodeGen.pl +++ b/src/epics/util/feCodeGen.pl @@ -198,7 +198,7 @@ $modelEpicsCodeDir = $modelCodeFilepath . "/epics/"; $modelCodeKernFilepath = $modelCodeKernDir. $skeleton . "_core.c"; $modelCodeUspFilepath = $modelCodeUspDir . $skeleton . "_core.c"; -$modelHeaderFilepath = "../../include/"; +$modelHeaderFilepath = $modelCodeFilepath. "/include/"; $modelHeaderFilepath .= $skeleton; $modelHeaderFilepath .= ".h"; diff --git a/src/epics/util/lib/createKernelMakefile.pm b/src/epics/util/lib/createKernelMakefile.pm index b2898a5c5815ed039caeeb205c1deaa0f77c432f..34bce7f82b52385d51e531e680968fd9cdff303b 100644 --- a/src/epics/util/lib/createKernelMakefile.pm +++ b/src/epics/util/lib/createKernelMakefile.pm @@ -252,7 +252,7 @@ if ($::iopModel < 1) { #************ SETUP FOR USER APP *************** print OUTM "EXTRA_CFLAGS += -DMODULE -DNO_RTL=1\n"; -print OUTM "EXTRA_CFLAGS += -I\$(SUBDIRS)/../../../include -I$::rcg_src_dir/src/include\n"; +print OUTM "EXTRA_CFLAGS += -I\$(SUBDIRS)/../../../fe/" . "\L$::skeleton" . "/include -I$::rcg_src_dir/src/include\n"; print OUTM "EXTRA_CFLAGS += -ffast-math -m80387 -msse2 -fno-builtin-sincos -mpreferred-stack-boundary=4\n"; print OUTM "\n"; close OUTM; diff --git a/src/epics/util/lib/createUserMakefile.pm b/src/epics/util/lib/createUserMakefile.pm index 6eee2df35ab89dd6a0223ffe017f768cd771d420..6d89be4e8cb56f4e2924b0d45dc1d471a38565ab 100644 --- a/src/epics/util/lib/createUserMakefile.pm +++ b/src/epics/util/lib/createUserMakefile.pm @@ -227,7 +227,7 @@ my ($makefileDir) = @_; } } - print OUTM "list(APPEND INC_DIRS \"\${PROJECT_SOURCE_DIR}/../../../include\" \"$::rcg_src_dir\/src/include\")\n"; + print OUTM "list(APPEND INC_DIRS \"\${PROJECT_SOURCE_DIR}/../../../fe/" . "\L$::skeleton" ."/include\" \"$::rcg_src_dir\/src/include\")\n"; if ($::pciNet > 0 && $::virtualiop != 1) { print OUTM "list(APPEND LDFLAGS \"-L \${API_LIB_PATH} -lsisci \")\n";