~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#===- ./Makefile -------------------------------------------*- Makefile -*--===#
 
2
#
 
3
#                     The LLVM Compiler Infrastructure
 
4
#
 
5
# This file is distributed under the University of Illinois Open Source
 
6
# License. See LICENSE.TXT for details.
 
7
#
 
8
#===------------------------------------------------------------------------===#
 
9
 
 
10
LEVEL := .
 
11
 
 
12
# Top-Level LLVM Build Stages:
 
13
#   1. Build lib/System and lib/Support, which are used by utils (tblgen).
 
14
#   2. Build utils, which is used by VMCore.
 
15
#   3. Build VMCore, which builds the Intrinsics.inc file used by libs.
 
16
#   4. Build libs, which are needed by llvm-config.
 
17
#   5. Build llvm-config, which determines inter-lib dependencies for tools.
 
18
#   6. Build tools, runtime, docs.
 
19
#
 
20
# When cross-compiling, there are some things (tablegen) that need to
 
21
# be build for the build system first.
 
22
 
 
23
# If "RC_ProjectName" exists in the environment, and its value is
 
24
# "llvmCore", then this is an "Apple-style" build; search for
 
25
# "Apple-style" in the comments for more info.  Anything else is a
 
26
# normal build.
 
27
ifneq ($(findstring llvmCore, $(RC_ProjectName)),llvmCore)  # Normal build (not "Apple-style").
 
28
 
 
29
ifeq ($(BUILD_DIRS_ONLY),1)
 
30
  DIRS := lib/System lib/Support utils
 
31
  OPTIONAL_DIRS :=
 
32
else
 
33
  DIRS := lib/System lib/Support utils lib/VMCore lib tools/llvm-shlib \
 
34
          tools/llvm-config tools runtime docs unittests
 
35
  OPTIONAL_DIRS := projects bindings
 
36
endif
 
37
 
 
38
ifeq ($(BUILD_EXAMPLES),1)
 
39
  OPTIONAL_DIRS += examples
 
40
endif
 
41
 
 
42
EXTRA_DIST := test unittests llvm.spec include win32 Xcode
 
43
 
 
44
include $(LEVEL)/Makefile.config
 
45
 
 
46
ifneq ($(ENABLE_SHARED),1)
 
47
  DIRS := $(filter-out tools/llvm-shlib, $(DIRS))
 
48
endif
 
49
 
 
50
ifeq ($(MAKECMDGOALS),libs-only)
 
51
  DIRS := $(filter-out tools runtime docs, $(DIRS))
 
52
  OPTIONAL_DIRS :=
 
53
endif
 
54
 
 
55
ifeq ($(MAKECMDGOALS),install-libs)
 
56
  DIRS := $(filter-out tools runtime docs, $(DIRS))
 
57
  OPTIONAL_DIRS := $(filter bindings, $(OPTIONAL_DIRS))
 
58
endif
 
59
 
 
60
ifeq ($(MAKECMDGOALS),tools-only)
 
61
  DIRS := $(filter-out runtime docs, $(DIRS))
 
62
  OPTIONAL_DIRS :=
 
63
endif
 
64
 
 
65
ifeq ($(MAKECMDGOALS),install-clang)
 
66
  DIRS := tools/clang/tools/driver tools/clang/lib/Headers \
 
67
          tools/clang/lib/Runtime tools/clang/docs
 
68
  OPTIONAL_DIRS :=
 
69
  NO_INSTALL = 1
 
70
endif
 
71
 
 
72
ifeq ($(MAKECMDGOALS),clang-only)
 
73
  DIRS := $(filter-out tools runtime docs unittests, $(DIRS)) tools/clang
 
74
  OPTIONAL_DIRS :=
 
75
endif
 
76
 
 
77
ifeq ($(MAKECMDGOALS),unittests)
 
78
  DIRS := $(filter-out tools runtime docs, $(DIRS)) utils unittests
 
79
  OPTIONAL_DIRS :=
 
80
endif
 
81
 
 
82
# Use NO_INSTALL define of the Makefile of each directory for deciding
 
83
# if the directory is installed or not
 
84
ifeq ($(MAKECMDGOALS),install)
 
85
  OPTIONAL_DIRS := $(filter bindings, $(OPTIONAL_DIRS))
 
86
endif
 
87
 
 
88
# If we're cross-compiling, build the build-hosted tools first
 
89
ifeq ($(LLVM_CROSS_COMPILING),1)
 
90
all:: cross-compile-build-tools
 
91
 
 
92
clean::
 
93
        $(Verb) rm -rf BuildTools
 
94
 
 
95
cross-compile-build-tools:
 
96
        $(Verb) if [ ! -f BuildTools/Makefile ]; then \
 
97
          $(MKDIR) BuildTools; \
 
98
          cd BuildTools ; \
 
99
          unset CFLAGS ; \
 
100
          unset CXXFLAGS ; \
 
101
          $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
 
102
                --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \
 
103
          cd .. ; \
 
104
        fi; \
 
105
        ($(MAKE) -C BuildTools \
 
106
          BUILD_DIRS_ONLY=1 \
 
107
          UNIVERSAL= \
 
108
          ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
 
109
          ENABLE_PROFILING=$(ENABLE_PROFILING) \
 
110
          ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
 
111
          DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
 
112
          ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
 
113
        ) || exit 1;
 
114
endif
 
115
 
 
116
# Include the main makefile machinery.
 
117
include $(LLVM_SRC_ROOT)/Makefile.rules
 
118
 
 
119
# Specify options to pass to configure script when we're
 
120
# running the dist-check target
 
121
DIST_CHECK_CONFIG_OPTIONS = --with-llvmgccdir=$(LLVMGCCDIR)
 
122
 
 
123
.PHONY: debug-opt-prof
 
124
debug-opt-prof:
 
125
        $(Echo) Building Debug Version
 
126
        $(Verb) $(MAKE)
 
127
        $(Echo)
 
128
        $(Echo) Building Optimized Version
 
129
        $(Echo)
 
130
        $(Verb) $(MAKE) ENABLE_OPTIMIZED=1
 
131
        $(Echo)
 
132
        $(Echo) Building Profiling Version
 
133
        $(Echo)
 
134
        $(Verb) $(MAKE) ENABLE_PROFILING=1
 
135
 
 
136
dist-hook::
 
137
        $(Echo) Eliminating files constructed by configure
 
138
        $(Verb) $(RM) -f \
 
139
          $(TopDistDir)/include/llvm/Config/config.h  \
 
140
          $(TopDistDir)/include/llvm/System/DataTypes.h
 
141
 
 
142
clang-only: all
 
143
tools-only: all
 
144
libs-only: all
 
145
install-clang: install
 
146
install-libs: install
 
147
 
 
148
#------------------------------------------------------------------------
 
149
# Make sure the generated headers are up-to-date. This must be kept in
 
150
# sync with the AC_CONFIG_HEADER invocations in autoconf/configure.ac
 
151
#------------------------------------------------------------------------
 
152
FilesToConfig := \
 
153
  include/llvm/Config/config.h \
 
154
  include/llvm/Config/Targets.def \
 
155
  include/llvm/Config/AsmPrinters.def \
 
156
  include/llvm/Config/AsmParsers.def \
 
157
  include/llvm/Config/Disassemblers.def \
 
158
  include/llvm/System/DataTypes.h \
 
159
  tools/llvmc/plugins/Base/Base.td
 
160
FilesToConfigPATH  := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig))
 
161
 
 
162
all-local:: $(FilesToConfigPATH)
 
163
$(FilesToConfigPATH) : $(LLVM_OBJ_ROOT)/% : $(LLVM_SRC_ROOT)/%.in
 
164
        $(Echo) Regenerating $*
 
165
        $(Verb) cd $(LLVM_OBJ_ROOT) && $(ConfigStatusScript) $*
 
166
.PRECIOUS: $(FilesToConfigPATH)
 
167
 
 
168
# NOTE: This needs to remain as the last target definition in this file so
 
169
# that it gets executed last.
 
170
ifneq ($(BUILD_DIRS_ONLY),1)
 
171
all::
 
172
        $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build
 
173
ifeq ($(BuildMode),Debug)
 
174
        $(Echo) '*****' Note: Debug build can be 10 times slower than an
 
175
        $(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to
 
176
        $(Echo) '*****' make an optimized build. Alternatively you can
 
177
        $(Echo) '*****' configure with --enable-optimized.
 
178
endif
 
179
endif
 
180
 
 
181
check-llvm2cpp:
 
182
        $(Verb)$(MAKE) check TESTSUITE=Feature RUNLLVM2CPP=1
 
183
 
 
184
check-one:
 
185
        $(Verb)$(MAKE) -C test check-one TESTONE=$(TESTONE)
 
186
 
 
187
srpm: $(LLVM_OBJ_ROOT)/llvm.spec
 
188
        rpmbuild -bs $(LLVM_OBJ_ROOT)/llvm.spec
 
189
 
 
190
rpm: $(LLVM_OBJ_ROOT)/llvm.spec
 
191
        rpmbuild -bb --target $(TARGET_TRIPLE) $(LLVM_OBJ_ROOT)/llvm.spec
 
192
 
 
193
show-footprint:
 
194
        $(Verb) du -sk $(LibDir)
 
195
        $(Verb) du -sk $(ToolDir)
 
196
        $(Verb) du -sk $(ExmplDir)
 
197
        $(Verb) du -sk $(ObjDir)
 
198
 
 
199
build-for-llvm-top:
 
200
        $(Verb) if test ! -f ./config.status ; then \
 
201
          ./configure --prefix="$(LLVM_TOP)/install" \
 
202
            --with-llvm-gcc="$(LLVM_TOP)/llvm-gcc" ; \
 
203
        fi
 
204
        $(Verb) $(MAKE) tools-only
 
205
 
 
206
SVN = svn
 
207
SVN-UPDATE-OPTIONS =
 
208
AWK = awk
 
209
SUB-SVN-DIRS = $(AWK) '/\?\ \ \ \ \ \ / {print $$2}'   \
 
210
                | LC_ALL=C xargs $(SVN) info 2>/dev/null \
 
211
                | $(AWK) '/Path:\ / {print $$2}'
 
212
 
 
213
update:
 
214
        $(SVN) $(SVN-UPDATE-OPTIONS) update $(LLVM_SRC_ROOT)
 
215
        @ $(SVN) status $(LLVM_SRC_ROOT) | $(SUB-SVN-DIRS) | xargs $(SVN) $(SVN-UPDATE-OPTIONS) update
 
216
 
 
217
happiness: update all check unittests
 
218
 
 
219
.PHONY: srpm rpm update happiness
 
220
 
 
221
# declare all targets at this level to be serial:
 
222
 
 
223
.NOTPARALLEL:
 
224
 
 
225
else # Building "Apple-style."
 
226
# In an Apple-style build, once configuration is done, lines marked
 
227
# "Apple-style" are removed with sed!  Please don't remove these!
 
228
# Look for the string "Apple-style" in utils/buildit/build_llvm.
 
229
include $(shell find . -name GNUmakefile) # Building "Apple-style."
 
230
endif # Building "Apple-style."