Skip to content

Commit a8af34d

Browse files
authored
Merge pull request #46 from lnls-fac/improve-install
Improve installation
2 parents a4d17b6 + f34467d commit a8af34d

File tree

4 files changed

+57
-26
lines changed

4 files changed

+57
-26
lines changed

Makefile

+29-14
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,15 @@ AUXFILES = VERSION
6464

6565
LIBS = -lgsl -lgslcblas -lpthread -lm
6666
INC = -I./include
67-
BINDEST_DIR = /usr/local/bin
68-
LIBDEST_DIR = /usr/local/lib
69-
INCDEST_DIR = /usr/local/include
67+
68+
ifeq ($(CONDA_PREFIX),)
69+
PREFIX = /usr/local
70+
else
71+
PREFIX = $(CONDA_PREFIX)
72+
endif
73+
BINDEST_DIR = $(PREFIX)/bin
74+
LIBDEST_DIR = $(PREFIX)/lib
75+
INCDEST_DIR = $(PREFIX)/include
7076

7177
OBJDIR = build
7278
SRCDIR = src
@@ -127,17 +133,31 @@ $(BINOBJECTS): | $(OBJDIR)
127133
$(OBJDIR):
128134
mkdir $(OBJDIR)
129135

130-
install: uninstall all
136+
install-cpp: uninstall-cpp all
131137
cp $(OBJDIR)/trackcpp $(BINDEST_DIR)
132138
cp $(OBJDIR)/libtrackcpp.a $(LIBDEST_DIR)
133139
cp -r $(INCDIR)/trackcpp $(INCDEST_DIR)
140+
141+
uninstall-cpp:
142+
-rm -rf $(BINDEST_DIR)/trackcpp
143+
-rm -rf $(LIBDEST_DIR)/libtrackcpp.a
144+
-rm -rf $(INCDEST_DIR)/trackcpp
145+
146+
install-py: uninstall-py
134147
$(MAKE) install -C $(PYTHON_PACKAGE_DIR)
135148

136-
develop: uninstall all
137-
ln -srf $(OBJDIR)/trackcpp $(BINDEST_DIR)
138-
ln -srf $(OBJDIR)/libtrackcpp.a $(LIBDEST_DIR)
139-
ln -srf $(INCDIR)/trackcpp $(INCDEST_DIR)
140-
$(MAKE) develop -C $(PYTHON_PACKAGE_DIR)
149+
uninstall-py:
150+
$(MAKE) uninstall -C $(PYTHON_PACKAGE_DIR)
151+
152+
install: install-cpp install-py
153+
154+
uninstall: uninstall-cpp uninstall-py
155+
156+
develop-install-py: develop-uninstall-py all
157+
$(MAKE) develop-install -C $(PYTHON_PACKAGE_DIR)
158+
159+
develop-uninstall-py:
160+
$(MAKE) develop-uninstall -C $(PYTHON_PACKAGE_DIR)
141161

142162
$(BINDEST_DIR):
143163
mkdir $(BINDEST_DIR)
@@ -152,11 +172,6 @@ clean:
152172
-rm -rf $(OBJDIR) trackcpp trackcpp-debug .depend *.out *.dat *~ *.o *.a
153173
$(MAKE) clean -C $(PYTHON_PACKAGE_DIR)
154174

155-
uninstall:
156-
-rm -rf $(BINDEST_DIR)/trackcpp
157-
-rm -rf $(LIBDEST_DIR)/libtrackcpp.a
158-
-rm -rf $(INCDEST_DIR)/trackcpp
159-
160175
cleanall: clean
161176
cd tracking_mp; make clean;
162177

VERSION

-1
This file was deleted.

VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python_package/trackcpp/VERSION

python_package/Makefile

+26-10
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,32 @@
22
#### COMPILATION OPTIONS ####
33
C = gcc
44
CXX = g++
5-
SWIG = swig3.0
5+
SWIG = swig
66
MACHINE = -m64
77
OPT_FLAG = -O3
88
SOURCES_I = trackcpp.i
99
WRAPPEROBJS = trackcpp_wrap.o
1010
INTERFACEOBJS = interface.o
1111
TRACKCPPLIB = ../build/libtrackcpp.a
12-
PYTHON_INCLUDES := $(shell python-sirius-config --includes)
13-
NUMPY_INCLUDE := -I$(shell python-sirius -c "import numpy; print(numpy.get_include())")
14-
NUMPY_VERSION := $(shell python-sirius -c "import numpy; print(numpy.__version__)")
12+
PACKAGE = trackcpp
13+
PREFIX =
14+
PIP = pip
15+
PYTHON = python3
16+
ifeq ($(CONDA_PREFIX),)
17+
PREFIX = sudo -H
18+
PIP = pip-sirius
19+
PYTHON = python-sirius
20+
endif
21+
22+
PYTHON_INCLUDES := $(shell $(PYTHON)-config --includes)
23+
NUMPY_INCLUDE := -I$(shell $(PYTHON) -c "import numpy; print(numpy.get_include())")
24+
NUMPY_VERSION := $(shell $(PYTHON) -c "import numpy; print(numpy.__version__)")
1525

1626
OBJECTS = $(WRAPPEROBJS) $(INTERFACEOBJS)
1727

1828
CPPFLAGS = -std=c++11 -fPIC $(OPT_FLAG)
1929
LIBS = -lgsl -lblas -L../build -ltrackcpp
2030
INC = -I../include $(PYTHON_INCLUDES) $(NUMPY_INCLUDE)
21-
PYTHON = python-sirius
22-
SETUPARGS =
2331

2432
INTERFACESRCS = $(INTERFACEOBJS:.o=.cpp)
2533
INTERFACEHDRS = $(INTERFACEOBJS:.o=.h)
@@ -39,11 +47,19 @@ trackcpp_wrap.cxx: $(SOURCES_I) $(INTERFACESRCS) $(INTERFACEHDRS)
3947
wget https://raw.githubusercontent.com/numpy/numpy/v$(NUMPY_VERSION)/tools/swig/numpy.i
4048
$(SWIG) -c++ -python $(INC) trackcpp.i && cp -f trackcpp.py trackcpp
4149

42-
install: all
43-
$(PYTHON) setup.py install $(SETUPARGS)
50+
install: uninstall all
51+
$(PREFIX) $(PIP) install --no-deps ./
52+
53+
uninstall:
54+
$(PREFIX) $(PIP) uninstall -y $(PACKAGE)
55+
56+
develop-install: develop-uninstall all
57+
$(PIP) install --no-deps -e ./
4458

45-
develop: all
46-
$(PYTHON) setup.py develop $(SETUPARGS)
59+
# known issue: It will fail to uninstall scripts
60+
# if they were installed in develop mode
61+
develop-uninstall:
62+
$(PIP) uninstall -y $(PACKAGE)
4763

4864
clean:
4965
-rm -rf *.o trackcpp/*.so *_wrap.cxx trackcpp/__pycache__ trackcpp/trackcpp.py build dist trackcpp.egg-info

python_package/trackcpp/VERSION

-1
This file was deleted.

python_package/trackcpp/VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
4.5.0

0 commit comments

Comments
 (0)