1
2# Makefile targets that can be made before running ./configure
3
4###############################################################################
5# show make targets
6#
7.PHONY: help
8help:
9	@echo ""
10	@echo ""
11	@echo "In addition to the standard make targets (all, install, clean, ...), "
12	@echo "the following make targets may be supported (at this level):"
13	@echo ""
14	@echo "    make help      - print this text"
15	@echo "    make DIST      - dist + a Makefile that calls ./configure"
16	@echo "    make DOXY      - create Doxygen documentation"
17	@echo "    make RPM       - create (source and binary) RPMs"
18	@echo "    make DEB       - create Debian packages"
19	@echo ""
20	@echo "    make SVNUP     - update from SVN and ./configure"
21	@echo ""
22	@echo "NOTE: The RPM and DEB targets may fail because they require additional tools"
23	@echo "that may not be present on your machine. Don't worry if that happens, unless"
24	@echo "you really need the RPM and/or Debian packages."
25	@echo ""
26	@echo "The following targets are shortcuts for lazy developers (like the GNU APL "
27	@echo "author) and are not very useful for normal users:"
28	@echo ""
29	@echo "    make develop   - enable full dependency tracking"
30	@echo "    make gprof     - make develop + enable gprof profiling"
31	@echo "    make python    - make develop + build python module"
32	@echo "    make parallel  - enable multi-core APL (buggy and experimental!)"
33	@echo "    make parallel1 - make parallel for benchmarking"
34	@echo ""
35
36###############################################################################
37# a shortcut to ./configure for developing and troubleshooting
38#
39.PHONY: develop
40develop:
41	./configure  --enable-maintainer-mode DEVELOP_WANTED=yes
42	make all
43
44
45###############################################################################
46# a shortcut to ./configure for compiling the python library
47#
48.PHONY: python
49python:
50	./configure  --enable-maintainer-mode DEVELOP_WANTED=yes --with-python
51	make all
52
53
54###############################################################################
55# a shortcut to ./configure for profiling using gprof
56#
57# running apl (in e.g. src) will then produce a file gmon.out which can then be
58# analyzed with gprof apl gmon.out
59#
60.PHONY: gprof
61gprof:
62	./configure  --enable-maintainer-mode DEVELOP_WANTED=yes GPROF_WANTED=yes
63	make all
64
65###############################################################################
66# a shortcut to ./configure for devloping and troubleshooting libapl
67#
68.PHONY: develop_lib
69develop_lib:
70	./configure  --enable-maintainer-mode DEVELOP_WANTED=yes --with-libapl
71	make all
72
73# a shortcut to configure for benchmarking parallel execution
74#
75.PHONY: parallel
76parallel:
77	./configure --enable-maintainer-mode            \
78                    VALUE_CHECK_WANTED=no               \
79                    VALUE_HISTORY_WANTED=no             \
80                    PERFORMANCE_COUNTERS_WANTED=no      \
81                    DYNAMIC_LOG_WANTED=yes              \
82                    ASSERT_LEVEL_WANTED=0               \
83                    CORE_COUNT_WANTED=-3
84	make all
85
86# a shortcut to configure for benchmarking parallel execution but with
87# performance counters
88#
89.PHONY: parallel1
90parallel1:
91	./configure --enable-maintainer-mode            \
92                    VALUE_CHECK_WANTED=no               \
93                    VALUE_HISTORY_WANTED=no             \
94                    PERFORMANCE_COUNTERS_WANTED=yes     \
95                    DYNAMIC_LOG_WANTED=yes              \
96                    ASSERT_LEVEL_WANTED=0               \
97                    CORE_COUNT_WANTED=-3
98	make all
99
100