Experimental Physics and Industrial Control System
|
Hi everybody,
I am creating a "generic" library in order to connect several open hardware FPGA devices to EPICS. This library is able to handle different bridges (syncronous => PCIe & asynchronous => etherbone, serial) so I have based it on asyn. But I am having trouble to create the Makefile system in order to generate my libewb.so
EPICS_BASE = 3.1.4 Asyn =4.13.1
make -C ./configure install make[1]: Entering directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/configure' make -C O.linux-x86 -f ../Makefile TOP=../.. T_A=linux-x86 install make[2]: Entering directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/configure/O.linux-x86' perl /opt/EPICS/base/bin/linux-x86/convertRelease.pl checkRelease make[2]: Leaving directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/configure/O.linux-x86' make[1]: Leaving directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/configure' make -C ./src install make[1]: Entering directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/src' make -C O.linux-x86 -f ../Makefile TOP=../.. T_A=linux-x86 install make[2]: Entering directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/src/O.linux-x86' Installing os dependent include file ../../include/os/Linux/. Usage: [ -m mode ] file ... directory -d Create non-existing directories -m mode Set the mode for the installed file (0755 by default) file Name of file directory Destination directory Can't find file '.' make[2]: *** [../../include/os/Linux/.] Error 2 make[2]: Leaving directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/src/O.linux-x86'
When I print more info in the Makefile I have:
make[2]: Entering directory `/home/neub/Work/7S/LLRF/LOCAL/epics-wb/src/O.linux-x86' echo "Installing os dependent include file ../../include/os/Linux/." perl /opt/EPICS/base/bin/linux-x86/installEpics.pl -d -m 644 . ../../include/os/Linux
It seems that we are trying to add the file '.' but I don't know why?
my Makefile is as follow:
TOP = .. include $(TOP)/configure/CONFIG ### Obtain the version ($ is replaced by $$) VERSION = $(shell git describe --always --dirty=+ | sed 's;^.*-\([v0-9\.]*\)\([a-z0-9\-+]*\)$$;\1\2;' ) DATE = $(shell date +"%d %b. %Y")
### Create the user FLAGS #USR_CFLAGS += -DDEBUG CXXFLAGS=-Wall -g -DTRACE_STDERR -std=c++11 USR_CXXFLAGS +=${USR_FLAGS} USR_CXXFLAGS +=${CXXFLAGS} USR_CXXFLAGS +=-D__GIT_VER__="\"${GIT_VER}\"" EWB = $(TOP)/src ### Define the library LIBRARY = ewb ewb_LIBS += $(EPICS_BASE_IOC_LIBS) ewb_LIBS += asyn
### Process ewb_core CORE_SRC_DIR = $(EWB)/ewbcore CORE_INC +=$(wildcard $(CORE_SRC_DIR)/*.h) CORE_SRCS +=$(wildcard $(CORE_SRC_DIR)/*.cpp) CORE_OBJS += $(addprefix $(ODIR), $(subst $(EWB)/,,$(CORE_SRCS:.cpp=.o))) ### Process ewb_bridge BRIDGE_SRC_DIR = $(EWB)/ewbbridge BRIDGE_INC +=$(BRIDGE_SRC_DIR)/EWBBridge.h BRIDGE_INC +=$(BRIDGE_SRC_DIR)/EWBMemTestFileCon.h BRIDGE_SRCS +=$(BRIDGE_SRC_DIR)/EWBMemTestFileCon.cpp
### Add external library for bridge ifeq (${JUNGOWD_OFF},1) USR_CXXFLAGS +=-DAWBPD_NO_X1052 else BRIDGE_INC +=$(BRIDGE_SRC_DIR)/EWBMemTestFileCon.h BRIDGE_SRCS +=$(BRIDGE_SRC_DIR)/EWBMemTestFileCon.cpp USR_INCLUDES +=-I${JUNGOWD} -I${JUNGOWD}/include USR_INCLUDES +=-I${X1052} -I${X1052}/include USR_SYS_LIBS += x1052_api USR_SYS_LIBS += wdapi${JUNGOWDVER} endif
### Append to the list SRC_DIRS += $(CORE_SRC_DIR) INC += $(CORE_INC) ewb_SRCS += $(CORE_SRCS) SRC_DIRS += $(BRIDGE_SRC_DIR) INC += $(BRIDGE_INC) ewb_SRCS += $(BRIDGE_SRCS) LIBSRCS = $(ewb_SRCS) #Just to try ### Set to build include $(TOP)/configure/RULES
You can check the code of the project there (epics-make branch):
I hope someone can help me... I am sure that this is a silly mistake but I don't find it :(
Regards,
--Benoit RAT LAMY
- Replies:
- RE: Makefiles to create a library based on Asyn Mark Rivers
- Navigate by Date:
- Prev:
caQtDm-doubleTab Matthew D. Moore
- Next:
RE: Makefiles to create a library based on Asyn Mark Rivers
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Call for abstract upcoming EPICS user collaboration meeting 18 Oct 2015, Melbourne, Australia Juan.Guzman
- Next:
RE: Makefiles to create a library based on Asyn Mark Rivers
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|
ANJ, 16 Dec 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|