Skip to content
Snippets Groups Projects
Commit a2c0382d authored by Patrick Robbe's avatar Patrick Robbe
Browse files

new files

parent 32d4c15c
No related branches found
No related tags found
No related merge requests found
HERE :=$(strip $(realpath $(dir $(lastword $(MAKEFILE_LIST)))))
TOP :=$(realpath $(HERE))
include $(TOP)/flags.mk
PCIE40_ECS :=pcie40_ecs
PCIE40_ECS_OBJS =main_pcie40_ecs.o
PCIE40_ECS_CFLAGS =$(CFLAGS) -I$(TOP) -I$(TOP)/../Pcie40DriverLibraries
PCIE40_ECS_INSTALL =$(PREFIX)/bin
PCIE40_ECS_LDFLAGS = -L../Pcie40Libraries/lib -lpcie40 -L../Pcie40DriverLibraries/ -lpcie40driver_ecs
VPATH :=$(TOP)
include $(TOP)/rules.mk
ifeq ($(ENABLE_PCIE40), true)
$(eval $(call ODIR_template,PCIE40_ECS))
endif
$(eval $(call DEFAULT_template))
#dg`make.flags` Several variables can be set in order to control what to build and what dependencies to enable, these can be set either in the environment, for example: <?
# ENABLE_XXX=false make # Set flag for single command, or
# export ENABLE_XXX=false # export flag in environment and
# make # reuse exported flags.
#?>Or by directly editing the file ``common/flags.mk``.
export ENABLE_DIM ?=true
export ENABLE_MON ?=true
export ENABLE_HWLOC ?=true
export ENABLE_DOCRA ?=true
#dg`make.flags`1 _ The following dependency flags are available: _
# ENABLE_DIM::
# Whether to include support for http://cern.ch/dim[DIM]. Default: *true*.
# ENABLE_MON::
# Whether to include the interface for DQMP (Data Quality Monitor and Presenter). Default: *true*.
# ENABLE_HWLOC::
# Whether to include support for the https://www.open-mpi.org/projects/hwloc[hwloc library] (will try to schedule threads processing data from a PCIe40 board on a core closest to the corresponding PCIe root complex). Default: *true*.
# ENABLE_DOCRA::
# Whether to generate the documentation (HTML and man pages). Requires docra and asciidoctor installed. Default: *true*.
export ENABLE_DAQ40 ?=true
export ENABLE_AMC40 ?=true
export ENABLE_CCPC40 ?=false
export ENABLE_PCIE40 ?=true
#dg`make.flags`2 _ The following flags can be used to build only a subset of the targets: _
# ENABLE_DAQ40::
# Build tools and libraries that are common to both AMC40 and PCIe40 setups. Default: *true*.
# ENABLE_AMC40::
# Build tools and libraries specific to the AMC40 board. Default: *true*.
# ENABLE_CCPC40::
# Build tools and libraries specific to the AMC40 CCPC module. Default: *false*.
# ENABLE_PCIE40::
# Build tools and libraries specific the the PCIe40 board. Default: *true*.
export PREFIX ?=/usr
export DAQ40_PREFIX ?=/opt/lhcb/daq40
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include "ecs_driverlib.h"
static int flag_devnum = 0;
static int flag_barnum = -1;
static int flag_address = 0;
static uint32_t flag_addroff;
static int flag_write = 0;
static uint32_t flag_writeval;
static int flag_read = 0;
//ug`pcie40_ecs.synopsis`
// *pcie40_ecs* [-i _interface_] -b _bar_ -a _address_ -w _value_ _
// *pcie40_ecs* [-i _interface_] -b _bar_ -a _address_ -r
static void usage()
{
fprintf(stderr, "usage: pcie40_ecs [options]\n");
fprintf(stderr, " -h Print this message\n");
fprintf(stderr, " -i {} Interface number (default: 0)\n");
fprintf(stderr, " -b {} BAR number\n");
fprintf(stderr, " -a {} Register address\n");
fprintf(stderr, " -w {} Write value to register\n");
fprintf(stderr, " -r Read register\n");
}
//ug`pcie40_ecs.description`
// Reads and writes PCIe40 BAR0 and BAR2 registers over PCI Express.
int main(int argc, char *argv[])
{
while (argc > 1 && argv[1][0] == '-') {
switch (argv[1][1]) {
//ug`pcie40_ecs.options`interface
// *-i* _interface_::
// Bind to PCIe40 interface number _interface_. This is optional and by default the tool will bind to the first interface available (typically 0).
case 'i':
++argv;
--argc;
flag_devnum = atoi(argv[1]);
break;
//ug`pcie40_ecs.options`bar
// *-b* _bar_::
// Access BAR number _bar_. Two PCI BARs are available:
// * 0 for user code (includes registers for DAQ, TFC, SCA...)
// * 2 for the common low-level interface
case 'b':
++argv;
--argc;
flag_barnum = atoi(argv[1]);
break;
//ug`pcie40_ecs.options`address
// *-a* _address_::
// Address to use for BAR access. Can be in decimal, hexadecimal or any other format supported by *strtol(3)*.
case 'a':
++argv;
--argc;
flag_address = 1;
flag_addroff = strtol(argv[1], NULL, 0);
break;
//ug`pcie40_ecs.options`write
// *-w* _value_::
// Write 32-bit _value_ to register at the given address. Same input format considerations apply as for the *-a* option.
case 'w':
++argv;
--argc;
flag_write = 1;
flag_writeval = strtoul(argv[1], NULL, 0);
break;
//ug`pcie40_ecs.options`read
// *-r*::
// Read value of register at given address. Value is printed to stdout in hexadecimal format.
case 'r':
flag_read = 1;
break;
//ug`pcie40_ecs.options`help
// *-h*::
// Output short program synopsis and exit.
default:
case 'h':
usage();
exit(1);
break;
}
--argc;
++argv;
}
//ug`pcie40_ecs.exit`
// -1 is returned in case of access error or wrong command line options, 0 otherwise.
if (!flag_address || flag_barnum < 0) {
usage();
exit(-1);
}
if (!flag_read && !flag_write) {
printf("-r and -w are mutually exclusive\n");
exit(-1);
}
uint32_t *regs;
int ecs = p40_ecs_open(flag_devnum, flag_barnum, &regs);
if (flag_write) {
p40_ecs_w32(regs, flag_addroff, flag_writeval);
} else if (flag_read) {
uint32_t reg = p40_ecs_r32(regs, flag_addroff);
printf("0x%08x", reg);
}
p40_ecs_close(ecs, regs);
return 0;
}
BUILD_PREFIX ?=
LIBDIR_SUFFIX ?=64
FLEX ?=flex
LFLAGS ?=
CFLAGS +=-Wall -g -O3
CXXFLAGS +=-Wall -g -O3
DOCRA ?=docra
ASCIIDOCTOR ?=asciidoctor
define INST_template #file, dst, mode
INSTALL +=$(BUILD_PREFIX)$(2)/$(notdir $(1))
ifeq (,$(wildcard $(HERE)/$(1)))
# Installing using absolute path
$(BUILD_PREFIX)$(2)/$(notdir $(1)): $(1)
@install -m 755 -d $(BUILD_PREFIX)$(2)
install -m $(3) $$< $(BUILD_PREFIX)$(2)
else
# Installing using relative path
$(BUILD_PREFIX)$(2)/$(notdir $(1)): $(HERE)/$(1)
@install -m 755 -d $(BUILD_PREFIX)$(2)
install -m $(3) $$< $(BUILD_PREFIX)$(2)
endif
endef
%.out/_dir: $(HERE)/Makefile $(TOP)/rules.mk $(TOP)/flags.mk
mkdir -p $*.out && touch $@
define ODIR_template #var, [nodefault]
ifneq ($(2),nodefault)
DEFAULT +=$$($(1))
endif
$(1)_ODIR :=$$($(1)).out
$(1)_ODOT :=$$($(1)_ODIR)/_dir
-include $$(addprefix $$($(1)_ODIR)/,$$($(1)_OBJS:.o=.d))
ODIRS +=$$($(1)_ODIR)
ifeq (,$(wildcard $(shell pwd)/Makefile))
# Out-of-tree build, external libraries are built locally
ifdef $(1)_LIBS_S
$$($(1)): $$(notdir $$($(1)_LIBS_S))
endif
else
# In-tree build, external libraries are in their source dir
$$($(1)): $$($(1)_LIBS_S)
endif
ifdef $(1)_DEPS
$$($(1)): $$($(1)_DEPS)
endif
######################
ifdef $(1)_CXXFLAGS
$(1)_CXXFLAGS +=-I$$($(1)_ODIR)
$$($(1)_ODIR)/%.d $$($(1)_ODIR)/%.pic.d: $(HERE)/%.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -MM -MT $$(@:.d=.o) $$< > $$@
$$($(1)_ODIR)/%.d $$($(1)_ODIR)/%.pic.d: %.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -MM -MT $$(@:.d=.o) $$< > $$@
$$($(1)_ODIR)/%.d $$($(1)_ODIR)/%.pic.d: $$($(1)_ODIR)/%.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -MM -MT $$(@:.d=.o) $$< > $$@
$$($(1)_ODIR)/%.o: %.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: %.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: $(HERE)/%.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: $(HERE)/%.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: $$($(1)_ODIR)/%.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: $$($(1)_ODIR)/%.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: %.c $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: %.c $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: $(HERE)/%.c $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: $(HERE)/%.c $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: $$($(1)_ODIR)/%.c $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: $$($(1)_ODIR)/%.c $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.l.cpp $$($(1)_ODIR)/%.l.hpp: $(HERE)/%.lpp $$($(1)_ODOT)
$(FLEX) $(LFLAGS) --outfile=$$($(1)_ODIR)/$$*.l.cpp --header-file=$$($(1)_ODIR)/$$*.l.hpp $$<
$$($(1)_ODIR)/%.l.o: $$($(1)_ODIR)/%.l.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -Wno-sign-compare -c -o $$@ $$<
$$($(1)_ODIR)/%.l.pic.o: $$($(1)_ODIR)/%.l.cpp $$($(1)_ODOT)
$$(CXX) $$($(1)_CXXFLAGS) -fPIC -Wno-sign-compare -c -o $$@ $$<
ifeq (,$(wildcard $(shell pwd)/Makefile))
# Out-of-tree build, external libraries are built locally
ifdef $(1)_LIBS_S
$$($(1)): $$(notdir $$($(1)_LIBS_S))
endif
else
# In-tree build, external libraries are in their source dir
$$($(1)): $$($(1)_LIBS_S)
endif
ifdef $(1)_DEPS
$$($(1)): $$($(1)_DEPS)
endif
ifdef $(1)_ARFLAGS
$$($(1)): $$(addprefix $$($(1)_ODIR)/,$$($(1)_OBJS))
$(AR) $$($(1)_ARFLAGS) $$@ $$(filter %.o %.a,$$^)
else
$$($(1)): $$(addprefix $$($(1)_ODIR)/,$$($(1)_OBJS))
$(CXX) $$($(1)_CXXFLAGS) $$(filter %.o %.a,$$^) -o $$@ $$($(1)_LDFLAGS)
endif
######################
else ifdef $(1)_CFLAGS
$(1)_CFLAGS +=-I$$($(1)_ODIR)
$$($(1)_ODIR)/%.d $$($(1)_ODIR)/%.pic.d: $(HERE)/%.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -MM -MT $$(@:.d=.o) $$< > $$@
$$($(1)_ODIR)/%.d $$($(1)_ODIR)/%.pic.d: %.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -MM -MT $$(@:.d=.o) $$< > $$@
$$($(1)_ODIR)/%.d $$($(1)_ODIR)/%.pic.d: $$($(1)_ODIR)/%.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -MM -MT $$(@:.d=.o) $$< > $$@
$$($(1)_ODIR)/%.o: %.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: %.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: $(HERE)/%.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: $(HERE)/%.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.o: $$($(1)_ODIR)/%.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -c -o $$@ $$<
$$($(1)_ODIR)/%.pic.o: $$($(1)_ODIR)/%.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -fPIC -c -o $$@ $$<
$$($(1)_ODIR)/%.l.c $$($(1)_ODIR)/%.l.h: $(HERE)/%.lpp $$($(1)_ODOT)
$(FLEX) $(LFLAGS) --outfile=$$($(1)_ODIR)/$$*.l.c --header-file=$$($(1)_ODIR)/$$*.l.h $$<
$$($(1)_ODIR)/%.l.o: $$($(1)_ODIR)/%.l.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -fPIC -Wno-sign-compare -c -o $$@ $$<
$$($(1)_ODIR)/%.l.pic.o: $$($(1)_ODIR)/%.l.c $$($(1)_ODOT)
$$(CC) $$($(1)_CFLAGS) -Wno-sign-compare -c -o $$@ $$<
ifdef $(1)_ARFLAGS
$$($(1)): $$(addprefix $$($(1)_ODIR)/,$$($(1)_OBJS))
$(AR) $$($(1)_ARFLAGS) $$@ $$^
else
$$($(1)): $$(addprefix $$($(1)_ODIR)/,$$($(1)_OBJS))
$(CC) $$($(1)_CFLAGS) $$^ -o $$@ $$($(1)_LDFLAGS)
endif
######################
else
#$$(error no compilation flags defined for target $(1))
endif
ifdef $(1)_INSTALL
ifdef $(1)_ARFLAGS
$$(eval $$(call INST_template,$($(1)),$($(1)_INSTALL),644))
else
$$(eval $$(call INST_template,$($(1)),$($(1)_INSTALL),755))
endif
endif
endef
define HDRS_template #var
$(foreach hdr,$($(1)_HDRS),$(eval $(call INST_template,$(hdr),$($(1)_HDRS_INSTALL),644)))
endef
define COPY_template #var, chmod
$(foreach hdr,$($(1)),$(eval $(call INST_template,$(hdr),$($(1)_INSTALL),$(2))))
endef
define LINK_template #var
INSTALL +=$(BUILD_PREFIX)$($(1)_INSTALL)/$($(1))
$(BUILD_PREFIX)$($(1)_INSTALL)/$($(1)): $(BUILD_PREFIX)$($(1)_LINK)
@install -m 755 -d $(BUILD_PREFIX)$($(1)_INSTALL)
ln -s $($(1)_LINK) $$@
endef
define DEP_template #file
DEP_DIRS +=$(dir $(1))
ifeq (,$(wildcard $(shell pwd)/Makefile))
# Out-of-tree build, all targets go to the local folder
DEFAULT +=$(notdir $(1))
$(notdir $(1)):
$(MAKE) $(notdir $(1)) -f $(dir $(1))Makefile
.PHONY: $(notdir $(1))
else
# In-tree build, each target goes into its source folder
DEFAULT +=$(1)
$(1):
$(MAKE) $(notdir $(1)) -C $(dir $(1))
.PHONY: $(1)
endif
endef
define MAN_template #var, mansection
$(1)_ODIR :=$$($(1)).out
$(1)_ODOT :=$$($(1)_ODIR)/_dir
$(1)_MAN.ADOC :=$$($(1)_ODIR)/$$(patsubst %.dcrt,%.adoc,$$(notdir $$($(1)_MAN_DCRT)))
$(1)_MAN :=$$($(1)_ODIR)/$$($(1)).$(2)
$(1)_MAN.GZ :=$$($(1)_ODIR)/$$($(1)).$(2).gz
MAN +=$$($(1)_MAN.GZ)
ifeq ($(ENABLE_DOCRA), true)
$$($(1)_MAN.ADOC): $$($(1)_ODOT)
docra -l 0 -o $$($(1)_ODIR) $$($(1)_MAN_FLAGS) $$(dir $$($(1)_MAN_DCRT)) $$($(1)_MAN_DCRT)
$$($(1)_MAN): $$($(1)_MAN.ADOC)
$(ASCIIDOCTOR) -b manpage $$<
$$($(1)_MAN.GZ): $$($(1)_MAN)
gzip -f $$^
ifdef $(1)_MAN_INSTALL
MANINSTALL +=$(BUILD_PREFIX)$($(1)_MAN_INSTALL)/man$(2)/$$($(1)).$(2).gz
$(BUILD_PREFIX)$$($(1)_MAN_INSTALL)/man$(2)/$$($(1)).$(2).gz: $$($(1)_MAN.GZ)
@install -m 755 -d $(BUILD_PREFIX)$$($(1)_MAN_INSTALL)/man$(2)
@cp -v $$< $$@
endif
endif
.PHONY: $$($(1)_MAN.ADOC) $$($(1)_MAN) $$($(1)_MAN.GZ)
endef
define ALIAS_template #aliasvar, var, mansection
ifdef $(2)_INSTALL
INSTALL +=$(BUILD_PREFIX)$($(2)_INSTALL)/$($(1))
$(BUILD_PREFIX)$$($(2)_INSTALL)/$($(1)):
@install -m 755 -d $(BUILD_PREFIX)$$($(2)_INSTALL)
ln -s $$($(2)_INSTALL)/$$($(2)) $$@
endif
ifdef $(2)_MAN_INSTALL
MANINSTALL +=$(BUILD_PREFIX)$($(2)_MAN_INSTALL)/man$(3)/$($(1)).$(3).gz
$(BUILD_PREFIX)$$($(2)_MAN_INSTALL)/man$(3)/$$($(1)).$(3).gz:
@install -m 755 -d $(BUILD_PREFIX)$$($(2)_MAN_INSTALL)/man$(3)
ln -s $$($(2)_MAN_INSTALL)/man$(3)/$$($(2)).$(3).gz $$@
endif
endef
#dg`make.sub` Each subfolder containing a ``Makefile`` can be build individually by simply issuing ``make`` from there. Dependencies on targets built in other subfolders will be built automatically. This can be used during development to quickly iterate on a single subproject.
# By default, a sub-project ``Makefile`` implements at least the following targets: _
# *default*::
# Builds all library and executable targets.
# *install*::
# Copies installable files to their destination.
# *uninstall*::
# Removes files copied by both *install* and *maninstall*.
# *man*::
# Builds man pages.
# *maninstall*::
# Installs man pages under ``$(PREFIX)/share/man``.
# *clean*::
# Cleans build directory and deletes final targets.
# *depclean*::
# Makes the *clean* target in every dependency of this subproject.
define DEFAULT_template
default: $$(DEFAULT)
install: $$(INSTALL)
uninstall:
$$(RM) $$(INSTALL) $$(MANINSTALL)
man: $$(MAN)
maninstall: $$(MANINSTALL)
clean:
$(RM) -r *.out/ $(ODIRS)
$(RM) $(DEFAULT)
depclean:
for dep_dir in ${DEP_DIRS}; do $(MAKE) -C $$$${dep_dir} clean; done
.PHONY: install uninstall man maninstall clean depclean
endef
default:
.PHONY: default
......@@ -23,10 +23,6 @@ ECS_OBJ=$(ECS_SRC:%.c=$(OBJ_DIR)%.o)
MINIPODS_SRC= i2cDriver.c
MINIPODS_OBJ=$(MINIPODS_SRC:%.c=$(OBJ_DIR)%.o)
#User
USER_SRC=
USER_OBJ=$(USER_SRC:$(SRC_DIR)$(USER_DIR)%.c=$(OBJ_DIR)%.o)
#LTC2990
LTC2990_SRC=
LTC2990_OBJ=$(LTC2990_SRC:$(SRC_DIR)$(LTC2990_DIR)%.c=$(OBJ_DIR)%.o)
......@@ -34,14 +30,11 @@ LTC2990_OBJ=$(LTC2990_SRC:$(SRC_DIR)$(LTC2990_DIR)%.c=$(OBJ_DIR)%.o)
# static libraries
ECS_LIB= libecs.a
MINIPODS_LIB= libminipods.a
USER_LIB= libuser.a
LTC2990_LIB= libltc2990.a
# dynamic libraries
USER_DYNLIB= libuser-dyn.so
LLI_DYNLIB= libpcie40.so
all: $(ECS_OBJ) $(ECS_LIB) $(MINIPODS_OBJ) $(MINIPODS_LIB) $(LTC2990_OBJ) $(LTC2990_LIB) $(LLI_DYNLIB) $(USER_LIB) $(USER_DYNLIB)
all: $(ECS_OBJ) $(ECS_LIB) $(MINIPODS_OBJ) $(MINIPODS_LIB) $(LTC2990_OBJ) $(LTC2990_LIB) $(LLI_DYNLIB)
$(ECS_OBJ): $(OBJ_DIR)%.o : %.c
@echo "Construction of ecs objects $@ from $<"
......@@ -74,21 +67,6 @@ $(LTC2990_LIB) : $(LTC2990_OBJ)
ar -q $(LIB_DIR)$(LTC2990_LIB) $(LTC2990_OBJ)
@echo ""
$(USER_OBJ): $(OBJ_DIR)%.o : $(SRC_DIR)$(USER_DIR)%.c
@echo "Construction of $@ from $<"
$(CC) $(CFLAGS) -I $(INC_DIR)$(USER_DIR) -I $(INC_DIR)$(SYSTEM_DIR) -I $(INC_DIR)$(ECS_DIR) -I $(PCIE40_INC_DIR) $< -o $@
@echo ""
$(USER_LIB) : $(USER_OBJ)
@echo "Construction of USER Library"
ar -q $(LIB_DIR)$(USER_LIB) $(USER_OBJ) $(ECS_OBJ)
@echo ""
$(USER_DYNLIB) : $(USER_OBJ)
@echo "Construction of dynamic USER Library"
$(CC) -o $(LIB_DIR)$(USER_DYNLIB) -shared $(USER_OBJ) $(ECS_OBJ)
@echo
$(LLI_DYNLIB) : $(ECS_OBJ) $(MINIPODS_OBJ)
@echo "Construction of dynamic LLI technical Library for V2"
mkdir -p lib
......@@ -112,9 +90,6 @@ clean: mrproper
-rm $(LIB_DIR)$(LTC2990_LIB)
@echo ""
@echo "removing $(USER_LIB)"
-rm $(LIB_DIR)$(USER_LIB)
-rm $(LIB_DIR)$(USER_DYNLIB)
-rm $(LIB_DIR)$(LLI_DYNLIB)
-rm -r $(LIB_DIR)
......
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
export PYTHONPATH=${PYTHONPATH}:${DIR}/../Python
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:../Pcie40Libraries/lib:../Pcie40DriverLibraries
export PATH=${PATH}:${DIR}/../Driver/pcie40_reload:${DIR}/../Driver/pcie40
export PATH=${PATH}:${DIR}/../Pcie40Applications
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment