1bda0b626e74513950405c27525af87e214e605e2Chris Lattner##===- clang/lib/Headers/Makefile --------------------------*- Makefile -*-===##
2aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner#
3aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner#                     The LLVM Compiler Infrastructure
4aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner#
5aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner# This file is distributed under the University of Illinois Open Source
6aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner# License. See LICENSE.TXT for details.
7aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner# 
8aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner##===----------------------------------------------------------------------===##
9aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
10afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel DunbarCLANG_LEVEL := ../..
11c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman
12c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate BegemanBUILT_SOURCES = arm_neon.h.inc
13c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate BegemanTABLEGEN_INC_FILES_COMMON = 1
14c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman
15afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbarinclude $(CLANG_LEVEL)/Makefile
16aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
17bc817cffbca01c879f13e9290d94797f6caafc7aDaniel DunbarCLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
18bc817cffbca01c879f13e9290d94797f6caafc7aDaniel Dunbar	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
19f918b8f93429004100c4e01d001c9b1dd95bb4deMike Stump
20f918b8f93429004100c4e01d001c9b1dd95bb4deMike StumpHeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include
21aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
22aba51227466131dd1455bb2afbbe9176ef67bd00Chris LattnerHEADERS := $(notdir $(wildcard $(PROJ_SRC_DIR)/*.h))
23aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
24aba51227466131dd1455bb2afbbe9176ef67bd00Chris LattnerOBJHEADERS := $(addprefix $(HeaderDir)/, $(HEADERS))
25aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
26aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
27c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman$(OBJHEADERS): $(HeaderDir)/%.h: $(PROJ_SRC_DIR)/%.h $(HeaderDir)/.dir $(HeaderDir)/arm_neon.h
280ec824258052cbfc20d4961a17f882ff146e5113Chris Lattner	$(Verb) cp $< $@
29adcf5b389acd7998742e3d2e807f72ef3abb8cfbDaniel Dunbar	$(Echo) Copying $(notdir $<) to build dir
30adcf5b389acd7998742e3d2e807f72ef3abb8cfbDaniel Dunbar
31e188b09224b15acfd1d4a9e863edfdd79af57764Bob Wilson$(HeaderDir)/arm_neon.h: $(BUILT_SOURCES) $(HeaderDir)/.dir
32c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman	$(Verb) cp $< $@
33c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman	$(Echo) Copying $(notdir $<) to build dir
34afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbar
35aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner# Hook into the standard Makefile rules.
36aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattnerall-local:: $(OBJHEADERS)
37aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
38f918b8f93429004100c4e01d001c9b1dd95bb4deMike StumpPROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)/include
39aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
40aba51227466131dd1455bb2afbbe9176ef67bd00Chris LattnerINSTHEADERS := $(addprefix $(PROJ_headers)/, $(HEADERS))
41af1879141c0fe45550fa0ebea80e8ca4383b1089Daniel DunbarINSTHEADERS += $(PROJ_headers)/arm_neon.h
42aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
433733831cde6030f09b462d548dcc9d4fb70b971eMike Stump$(PROJ_headers):
443733831cde6030f09b462d548dcc9d4fb70b971eMike Stump	$(Verb) $(MKDIR) $@
453733831cde6030f09b462d548dcc9d4fb70b971eMike Stump
463733831cde6030f09b462d548dcc9d4fb70b971eMike Stump$(INSTHEADERS): $(PROJ_headers)/%.h: $(HeaderDir)/%.h | $(PROJ_headers)
47aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner	$(Verb) $(DataInstall) $< $(PROJ_headers)
48adcf5b389acd7998742e3d2e807f72ef3abb8cfbDaniel Dunbar	$(Echo) Installing compiler include file: $(notdir $<)
49aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattner
50aba51227466131dd1455bb2afbbe9176ef67bd00Chris Lattnerinstall-local:: $(INSTHEADERS)
51c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman
526ee5b9384533d5b3f8c18b578fccd3935e1b892fPeter Collingbourne$(ObjDir)/arm_neon.h.inc.tmp : $(CLANG_LEVEL)/include/clang/Basic/arm_neon.td $(CLANG_TBLGEN) $(ObjDir)/.dir
53c90b32eb44a0cdac27035ceb16af28506c92b8a8Nate Begeman	$(Echo) "Building Clang arm_neon.h.inc with tblgen"
546ee5b9384533d5b3f8c18b578fccd3935e1b892fPeter Collingbourne	$(Verb) $(ClangTableGen) -gen-arm-neon -o $(call SYSPATH, $@) $<
55