diff --git a/Makefile.in b/Makefile.in index b1522d6c42b6f284600e25c6fc738cbe01d0487f..56a3185ab48947db499de8160326f8ad656aeb69 100644 --- a/Makefile.in +++ b/Makefile.in @@ -5,6 +5,7 @@ SHELL = /bin/sh top_srcdir := `readlink -m @top_srcdir@` srcdir := `readlink -m @srcdir@` bld_dir:= $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) +models_dir:= $(bld_dir)/models linux_version := '@linux_version@' VPATH=$(srcdir) @@ -29,18 +30,18 @@ DEVFLAGS=@DEVFLAGS@ %: clean-% @# Set path variables so we don't need the whole path everywhere - $(eval model_bld_dir := $(bld_dir)/src/fe/$@/) + $(eval model_bld_dir := $(bld_dir)/models/$@/) $(eval kern_bld_dir := $(model_bld_dir)/kernel_mod/) $(eval us_bld_dir := $(model_bld_dir)/userspace/) $(eval epics_bld_dir := $(model_bld_dir)/epics/) - @mkdir -p src/epics/util src/fe src/epics/fmseq src/fe/$@/include + @mkdir -p src/epics/util $(models_dir) src/epics/fmseq $(models_dir)/$@/include @ln -fs $(srcdir)/src/epics/util/lib src/epics/util > /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 - @cp $(srcdir)/support/symvers/ModuleIOP.symvers src/fe/ + @cp $(srcdir)/support/symvers/ModuleIOP.symvers $(models_dir)/ @echo Parsing the model $@... @make -C src/epics/util -sf Makefile $@ > $@.log 2>$@_error.log || (tail $@.log; cat $@_error.log && /bin/false) @@ -84,7 +85,7 @@ endif @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 - @tar Ccf $(srcdir) - --exclude rcg.tar.gz --exclude $(epics_bld_dir)/target . | gzip > $(epics_bld_dir)/target/src/rcg.tar.gz + @tar Ccf $(srcdir) - --exclude rcg.tar.gz --exclude $(epics_bld_dir)/target . | gzip > $(epics_bld_dir)/target/src/rcg.tar.gz @cp src/epics/util/sources.$@ $(epics_bld_dir)/target/src/src_locations.txt @cp $@.log $(epics_bld_dir)/target/src @cp $@_error.log $(epics_bld_dir)/target/src @@ -116,7 +117,7 @@ reclean: clean-%: @system=$(subst clean-,,$@); echo Cleaning $${system}...; \ /bin/rm -rf target/$${system}epics build/$${system}epics; \ - (make -siC src/fe/$${system}/Makefile clean 2>/dev/null); echo Done + (make -siC $(models_dir)/$${system}/Makefile clean 2>/dev/null); echo Done install-adclist-%: @system=$(subst install-adclist-,,$@); $(srcdir)/install-adclist $${system} $(srcdir) diff --git a/config/Makefile.linux b/config/Makefile.linux index 77c726cd3d1163348e8ad613ff9bff425b677379..6bc08d3d3493d6717813d9aa516b876141f51496 100644 --- a/config/Makefile.linux +++ b/config/Makefile.linux @@ -210,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 ../../fe/$(MODEL_NAME)/include/ &&\ + mv $(notdir $<)_proc.h ../../../models/$(MODEL_NAME)/include/ &&\ mv $(notdir $<).* ../../../$(EPICS_SRC_DIR)) diff --git a/install b/install index 99ee576660b9ffa00d26c73379100f67e21d31c0..f587c20d867212d29d22b089852e5b49cea7b614 100755 --- a/install +++ b/install @@ -10,8 +10,10 @@ else srcdir=$2 fi -MODEL_BUILD_DIR=src/fe/${system} -MODEL_INC_DIR=src/fe/${system}/include +MODEL_BUILD_DIR=models/${system} +KERNEL_MOD_BUILD_DIR=${MODEL_BUILD_DIR}/kernel_mod/ +USERSPACE_BUILD_DIR=${MODEL_BUILD_DIR}/userspace/build/ +MODEL_INC_DIR=${MODEL_BUILD_DIR}/include EPICS_BUILD_DIR=${MODEL_BUILD_DIR}/epics/ EPICS_TARGET_DIR=${EPICS_BUILD_DIR}/target/ @@ -102,11 +104,11 @@ echo "Installing RT components..." if test -e $TARGET/bin/${system}.ko; then mv -f $TARGET/bin/${system}.ko $TARGET/archive/${system}fe_${cur_date}.ko || exit 4 fi -if test -e src/fe/${system}/kernel_mod/${system}.ko; then - cp -fp src/fe/${system}/kernel_mod/${system}.ko $TARGET/bin/ +if test -e ${KERNEL_MOD_BUILD_DIR}/${system}.ko; then + cp -fp ${KERNEL_MOD_BUILD_DIR}/${system}.ko $TARGET/bin/ fi -if test -e src/fe/${system}_usp/${system}; then - cp -fp src/fe/${system}_usp/${system} $TARGET/bin/ +if test -e ${USERSPACE_BUILD_DIR}/${system}; then + cp -fp ${USERSPACE_BUILD_DIR}/${system} $TARGET/bin/ fi if test -e $TARGET/bin/${system}; then echo 'taskset -c '$targetcpu $TARGET/bin/${system} '-m ' ${system} ' > '$TARGET/logs/log.txt ' 2>& 1 &' > $TARGET/scripts/startup${ifo}usp @@ -136,7 +138,7 @@ if [ x$gds_node != "x" ]; then ########## echo "Updating testpoint config file..." - if [[ $gds_node -lt 256 ]] && test -e src/fe/${system}/kernel_mod/${system}.ko; then + if [[ $gds_node -lt 256 ]] && test -e ${KERNEL_MOD_BUILD_DIR}/${system}.ko; then if test -e $RTCDS/target/gds/param/testpoint.par; then mv -f $RTCDS/target/gds/param/testpoint.par $RTCDS/target/gds/param/archive/testpoint_${cur_date}.par || exit 1 testpoint_par_infname=$RTCDS/target/gds/param/archive/testpoint_${cur_date}.par diff --git a/src/epics/util/feCodeGen.pl b/src/epics/util/feCodeGen.pl index bbd27f73683e2f1ec7e77050b10c96eb1ca80d9c..17e5f6a81e578d552ff0513e08843f3d28ae2d66 100755 --- a/src/epics/util/feCodeGen.pl +++ b/src/epics/util/feCodeGen.pl @@ -107,7 +107,7 @@ print "Generating Firm Real-time code for patched vanilla Linux kernel\n"; # Get MAX_DIO_MODULES allowed from header file. # This is used by Parser3.pm to stop compile if RCG limits exceeded. -my $mdmStr = `grep "define MAX_DIO_MODULES" ../../include/drv/cdsHardware.h`; +my $mdmStr = `grep "define MAX_DIO_MODULES" $rcg_src_dir/src/include/drv/cdsHardware.h`; my @mdmNum = ($mdmStr =~ m/(\d+)/); $maxDioMod = pop(@mdmNum); @@ -187,7 +187,7 @@ $ifo_from_mdl_name = substr($skeleton, 0, 2); #// - Create the paths for RCG output files. \n print "file out is $skeleton\n"; -$modelCodeFilepath = "../../fe/"; +$modelCodeFilepath = "../../../models/"; $modelCodeFilepath .= $skeleton; $modelCodeKernDir = $modelCodeFilepath . "/kernel_mod/"; @@ -801,7 +801,7 @@ print "Found $dacCnt DAC modules part is $dacPartNum[0]\n"; print "Found $boCnt Binary modules part is $boPartNum[0]\n"; ($::maxAdcModules, $::maxDacModules) = - CDS::Util::findDefine("src/include/drv/cdsHardware.h", + CDS::Util::findDefine("src/include/drv/cdsHardware.h", #Rest of path added in function "MAX_ADC_MODULES", "MAX_DAC_MODULES"); die "***ERROR: Too many ADC modules (MAX = $::maxAdcModules): ADC defined = $adcCnt\n" if ($adcCnt > $::maxAdcModules); diff --git a/src/epics/util/lib/Util.pm b/src/epics/util/lib/Util.pm index 23d2f372af147533270899719dcc63549c0cf840..c3f6cd0c4c408d112690e381e0db4cb7e879c173 100644 --- a/src/epics/util/lib/Util.pm +++ b/src/epics/util/lib/Util.pm @@ -17,7 +17,7 @@ sub findDefine { # Determine allowed maximum IPC number open(CD2, "$::rcg_src_dir/" . $fname) - || die "***ERROR: could not open $fname header\n"; + || die "***ERROR: could not open $::rcg_src_dir/$fname header\n"; my @inData=<CD2>; close CD2; foreach $i (@defs) { diff --git a/src/epics/util/lib/createEpicsMakefile.pm b/src/epics/util/lib/createEpicsMakefile.pm index 9e32ead694d08953ad58324cc983723b8f038b41..4bc524aa4e55cd4bcacaf69793ca1d328e53f64f 100644 --- a/src/epics/util/lib/createEpicsMakefile.pm +++ b/src/epics/util/lib/createEpicsMakefile.pm @@ -13,7 +13,7 @@ my ($fileName) = @_; print OUTME "# Define Epics system name. It should be unique.\n"; print OUTME "TARGET = $::skeleton"; print OUTME "epics\n"; - print OUTME "EPICS_BUILD_DIR:= src/fe/$::skeleton/epics/\n"; + print OUTME "EPICS_BUILD_DIR:= models/$::skeleton/epics/\n"; print OUTME "\n"; print OUTME "SRC = \$(EPICS_BUILD_DIR)/src/"; print OUTME "$::skeleton"; diff --git a/src/epics/util/lib/createKernelMakefile.pm b/src/epics/util/lib/createKernelMakefile.pm index 34bce7f82b52385d51e531e680968fd9cdff303b..0b303cee51e1793ac64a98ab1c33ad39e225c0ad 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)/../../../fe/" . "\L$::skeleton" . "/include -I$::rcg_src_dir/src/include\n"; +print OUTM "EXTRA_CFLAGS += -I\$(SUBDIRS)/../../../models/" . "\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 6d89be4e8cb56f4e2924b0d45dc1d471a38565ab..747864c130cd2a61ced8800ecdbb12a23d578b9c 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}/../../../fe/" . "\L$::skeleton" ."/include\" \"$::rcg_src_dir\/src/include\")\n"; + print OUTM "list(APPEND INC_DIRS \"\${PROJECT_SOURCE_DIR}/../../../models/" . "\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";