blob: 42219c4082be839fb08817d107464d49d4778ddc [file] [log] [blame]
Chris Lattnerbda0b622008-03-15 23:59:48 +00001##===- clang/lib/Headers/Makefile --------------------------*- Makefile -*-===##
Chris Lattneraba51222008-03-03 01:22:28 +00002#
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
Daniel Dunbarafed0992010-06-08 20:34:18 +000010CLANG_LEVEL := ../..
Nate Begemanc90b32e2010-05-28 02:20:47 +000011
12BUILT_SOURCES = arm_neon.h.inc
13TABLEGEN_INC_FILES_COMMON = 1
14
Daniel Dunbarafed0992010-06-08 20:34:18 +000015include $(CLANG_LEVEL)/Makefile
Chris Lattneraba51222008-03-03 01:22:28 +000016
Daniel Dunbarbc817cf2010-06-25 17:33:49 +000017CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
18 $(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
Mike Stumpf918b8f2009-09-16 01:26:05 +000019
20HeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include
Chris Lattneraba51222008-03-03 01:22:28 +000021
22HEADERS := $(notdir $(wildcard $(PROJ_SRC_DIR)/*.h))
23
24OBJHEADERS := $(addprefix $(HeaderDir)/, $(HEADERS))
25
26
Nate Begemanc90b32e2010-05-28 02:20:47 +000027$(OBJHEADERS): $(HeaderDir)/%.h: $(PROJ_SRC_DIR)/%.h $(HeaderDir)/.dir $(HeaderDir)/arm_neon.h
Chris Lattner0ec82422008-03-09 01:29:23 +000028 $(Verb) cp $< $@
Daniel Dunbaradcf5b32009-02-21 20:52:41 +000029 $(Echo) Copying $(notdir $<) to build dir
30
Bob Wilsone188b092010-06-26 00:03:23 +000031$(HeaderDir)/arm_neon.h: $(BUILT_SOURCES) $(HeaderDir)/.dir
Nate Begemanc90b32e2010-05-28 02:20:47 +000032 $(Verb) cp $< $@
33 $(Echo) Copying $(notdir $<) to build dir
Daniel Dunbarafed0992010-06-08 20:34:18 +000034
Douglas Gregor3e80d8a2012-01-29 20:52:14 +000035$(HeaderDir)/module.map: $(PROJ_SRC_DIR)/module.map $(HeaderDir)/.dir
36 $(Verb) cp $< $@
37 $(Echo) Copying $(notdir $<) to build dir
38
39
Chris Lattneraba51222008-03-03 01:22:28 +000040# Hook into the standard Makefile rules.
Douglas Gregor3e80d8a2012-01-29 20:52:14 +000041all-local:: $(OBJHEADERS) $(HeaderDir)/module.map
Chris Lattneraba51222008-03-03 01:22:28 +000042
Mike Stumpf918b8f2009-09-16 01:26:05 +000043PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)/include
Chris Lattneraba51222008-03-03 01:22:28 +000044
45INSTHEADERS := $(addprefix $(PROJ_headers)/, $(HEADERS))
Daniel Dunbaraf187912010-07-22 01:19:36 +000046INSTHEADERS += $(PROJ_headers)/arm_neon.h
Chris Lattneraba51222008-03-03 01:22:28 +000047
Mike Stump37338312009-01-22 02:53:03 +000048$(PROJ_headers):
49 $(Verb) $(MKDIR) $@
50
51$(INSTHEADERS): $(PROJ_headers)/%.h: $(HeaderDir)/%.h | $(PROJ_headers)
Chris Lattneraba51222008-03-03 01:22:28 +000052 $(Verb) $(DataInstall) $< $(PROJ_headers)
Daniel Dunbaradcf5b32009-02-21 20:52:41 +000053 $(Echo) Installing compiler include file: $(notdir $<)
Chris Lattneraba51222008-03-03 01:22:28 +000054
Douglas Gregor3e80d8a2012-01-29 20:52:14 +000055$(PROJ_headers)/module.map: $(HeaderDir)/module.map | $(PROJ_headers)
56 $(Verb) $(DataInstall) $< $(PROJ_headers)
57 $(Echo) Installing compiler module map file: $(notdir $<)
58
59
60install-local:: $(INSTHEADERS) $(PROJ_headers)/module.map
Nate Begemanc90b32e2010-05-28 02:20:47 +000061
Peter Collingbourne6ee5b932011-10-06 01:52:10 +000062$(ObjDir)/arm_neon.h.inc.tmp : $(CLANG_LEVEL)/include/clang/Basic/arm_neon.td $(CLANG_TBLGEN) $(ObjDir)/.dir
Nate Begemanc90b32e2010-05-28 02:20:47 +000063 $(Echo) "Building Clang arm_neon.h.inc with tblgen"
Peter Collingbourne6ee5b932011-10-06 01:52:10 +000064 $(Verb) $(ClangTableGen) -gen-arm-neon -o $(call SYSPATH, $@) $<