-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile_hepmc
58 lines (48 loc) · 1.5 KB
/
Makefile_hepmc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
PWD = $(shell pwd)
CMAKE3_BIN := $(shell which cmake3)
ifneq ($(CMAKE3_BIN),)
ifeq ($(CMAKE3_BIN),/apps/bin/cmake3)
CMAKE_BIN = cmake # don't use cmake3 from /apps/bin
else
CMAKE_BIN = cmake3
endif
else
CMAKE_BIN = cmake
endif
CMAKE = $(CMAKE_BIN)
SOURCE_CODE_TARGET = $(HEPMC_HOME)/.untar_done
ifdef HEPMC_DIRTAG
HEPMC_DIR = HepMC-$(HEPMC_VERSION)^$(HEPMC_DIRTAG)
else
HEPMC_DIR = HepMC-$(HEPMC_VERSION)
endif
TARFILE = hepmc$(HEPMC_VERSION).tgz
UNTAR_TEMP_DIR := untar_temp_dir_$(shell echo $$RANDOM)
HEPMC_HOME = $(PWD)/$(HEPMC_DIR)
BUILD_DIR = $(PWD)/build_$(HEPMC_DIR)
all: $(HEPMC_HOME)/hepmc_prereqs.xml
$(TARFILE):
wget --no-verbose --no-check-certificate -O $@ http://hepmc.web.cern.ch/hepmc/releases/$(TARFILE)
$(HEPMC_HOME)/.untar_done: $(TARFILE)
rm -rf $(UNTAR_TEMP_DIR)
mkdir $(UNTAR_TEMP_DIR)
cd $(UNTAR_TEMP_DIR) ; tar zxf ../$(TARFILE)
mv -v $(UNTAR_TEMP_DIR)/* $(HEPMC_DIR)
rm -rv $(UNTAR_TEMP_DIR)
date > $@
$(HEPMC_HOME)/.cmake_done: $(SOURCE_CODE_TARGET)
mkdir -p $(BUILD_DIR)
cd $(BUILD_DIR); $(CMAKE) -DCMAKE_INSTALL_PREFIX=$(HEPMC_HOME) \
-Dmomentum:STRING=GEV -Dlength:STRING=CM $(HEPMC_HOME)
date > $@
$(HEPMC_HOME)/.make_done: $(HEPMC_HOME)/.cmake_done
make -C $(BUILD_DIR)
date > $@
$(HEPMC_HOME)/.install_done: $(HEPMC_HOME)/.make_done
make -C $(BUILD_DIR) install
date > $@
$(HEPMC_HOME)/hepmc_prereqs.xml: $(HEPMC_HOME)/.install_done
cd $(HEPMC_HOME) ; $(BUILD_SCRIPTS)/version_prereqs.pl hepmc
debug:
@echo CMAKE3_BIN = $(CMAKE3_BIN)
@echo CMAKE = $(CMAKE)