EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Makefiles to create a library based on Asyn
From: Benoit <[email protected]>
To: EPICS mailing list <[email protected]>
Date: Wed, 19 Aug 2015 15:43:46 +0200
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

fix. (+34) 958 285 024

cel. (+34) 617 989 123

e-mail: [email protected]

www.sevensols.com 



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  <20152016  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·