Experimental Physics and Industrial Control System
|
What happens if you comment out one or the other of these 2 lines?
INC += $(CORE_INC)
INC += $(BRIDGE_INC)
Perhaps that will help you find the problem.
Mark
From: [email protected] [mailto:[email protected]]
On Behalf Of Benoit
Sent: Wednesday, August 19, 2015 8:44 AM
To: EPICS mailing list
Subject: Makefiles to create a library based on Asyn
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
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 :(
--
|
- Replies:
- Re: Makefiles to create a library based on Asyn Benoit
- References:
- Makefiles to create a library based on Asyn Benoit
- Navigate by Date:
- Prev:
Makefiles to create a library based on Asyn Benoit
- Next:
Re: Makefiles to create a library based on Asyn Benoit
- 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:
Makefiles to create a library based on Asyn Benoit
- Next:
Re: Makefiles to create a library based on Asyn Benoit
- 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
·
|