forked from awsteiner/o2scl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.am
170 lines (143 loc) · 4.79 KB
/
Makefile.am
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# Makefile.am for O2scl.
# Output some assistance describing the usual make targets
help:
@echo "This the O2scl root directory makefile."
@echo
@echo "The traditional GNU-style targets apply. In addition there "\
"are a couple extra "
@echo "targets which may be useful listed below."\
"The documentation is automatically"
@echo "installed with 'make install'."
@echo
@echo "Additional package-specific targets"
@echo "-----------------------------------"\
"-------------------------------------"
@echo "help: Show this help file"
@echo "o2scl-test: Test installation "\
"('make check' works also)"
@echo "o2scl-examples: Compile and run examples"
@echo "test-clean: Clean files created by tests"
@echo "open-doc: View local HTML documentation"
@echo "blank-doc: Create blank documentation"
@echo "web-doc: View web documentation"
@echo "emacs-clean: Remove files ending with a tilde"
@echo "permfix: Change permissions to "\
"current user with sudo"
@echo
@echo "Developer targets"
@echo "-----------------------------------"\
"-------------------------------------"
@echo "sinstall: Install headers and libraries only"
@echo "o2scl-doc: Make HTML documentation"
@echo "clean-doc: Remove generated documentation files"
@echo "release-sync-doc: Copy docs from /usr/local on isospin "\
"to the web page "
@echo " repository for uploading"
@echo "prerelease-sync-doc: Copy docs from /usr/local on isospin "\
"to the internal "
@echo " web directory."
@echo
# -----------------------------------------------------------------
# GNU style variables
ACLOCAL_AMFLAGS = -I m4
# Note that in SUBDIRS below, include must come before src (so that
# the necessary include files can be found) and bin must come after
# src (so that the libraries can be found for the executables)
SUBDIRS = include src bin data doc examples
# Extra files to add to the distribution
EXTRA_DIST = autogen.sh TODOS README acinclude.m4 m4 README.md
check_SCRIPTS = o2scl-test
# -----------------------------------------------------------------
# Additional targets
# Compile and run all examples
o2scl-examples:
cd examples && $(MAKE) o2scl-examples
# Run the tests and summarize using the tsumm program
#
# The command echo " " > ./testlist creates a blank testlist file
# which the various subdirectories can add to.
o2scl-test:
echo " " > ./testlist
cd src && $(MAKE) o2scl-test-rec
./src/internal/tsumm$(EXEEXT) summary
# Install source only
sinstall:
cd include && $(MAKE) install
cd src && $(MAKE) install
cd bin && $(MAKE) install
# Clean o2scl-test targets
test-clean:
rm -f testlist
rm -f src/*/*_ts
rm -f src/*/*_ts.o
rm -f src/*/*.scr
# Clean emacs checkpoint files
emacs-clean:
rm -v -f *~
rm -v -f */*~
rm -v -f */*/*~
rm -v -f */*/*/*~
rm -v -f */*/*/*/*~
pack-sync:
git archive master | tar -x -C /home/awsteiner/pack/o2scl
# Publish release documentation
release-sync-doc:
cd doc/o2scl && $(MAKE) release-sync-doc
# Publish prerelease documentation
prerelease-sync-doc:
cd doc/o2scl && $(MAKE) prerelease-sync-doc
# Run doxygen to create documentation
o2scl-doc:
cd doc/o2scl && $(MAKE) o2scl-doc
# Clean all generated documentation
clean-doc:
cd doc/o2scl && $(MAKE) clean-doc-recursive
#Change permissions to current user with sudo
permfix:
sudo chown -R `whoami`:`whoami` * .git
if O2SCL_OSX
BROWSER = open
else
BROWSER = xdg-open
endif
open-doc:
$(BROWSER) doc/o2scl/html/index.html
web-doc:
$(BROWSER) https://neutronstars.utk.edu/code/o2scl/html/index.html
interface: empty
cd bin; $(MAKE) yanic
cd src; $(MAKE) interface
empty:
# Create empty documentation
blank-doc:
mkdir -p doc/o2scl/html
mkdir -p doc/o2scl/xml
mkdir -p doc/o2scl/html/class
mkdir -p doc/o2scl/html/function
mkdir -p doc/o2scl/html/_sources
mkdir -p doc/o2scl/html/_sources/class
mkdir -p doc/o2scl/html/_sources/function
mkdir -p doc/o2scl/html/_static
mkdir -p doc/o2scl/html/_images
@echo ""
touch doc/o2scl/xml/namespaceo2scl.xml
touch doc/o2scl/xml/classo2scl_1_1gen__test__number.xml
touch doc/o2scl/xml/classo2scl__acol_1_1acol__manager.xml
touch doc/o2scl/html/index.html
touch doc/o2scl/html/blank.js
touch doc/o2scl/html/blank.inv
touch doc/o2scl/html/class/index.html
touch doc/o2scl/html/function/index.html
touch doc/o2scl/html/_sources/blank.txt
touch doc/o2scl/html/_sources/class/blank.txt
touch doc/o2scl/html/_sources/function/blank.txt
touch doc/o2scl/html/_static/blank.png
touch doc/o2scl/html/_images/blank.png
snapb:
snapcraft build 2>&1 > ~/o2scl_snap.out &
inst-clean:
rm /usr/local/lib/libo2scl*
rm -r /usr/local/include/o2scl
rm /usr/local/bin/acol
rm /usr/local/bin/yanic
rm /usr/local/bin/ame_parse