blob: 8d3fa29a75a46d33769742946d37126eeb42d6de [file] [log] [blame]
Reid Spencer5f016e22007-07-11 17:01:13 +00001LEVEL = ../..
Daniel Dunbar073777f2009-03-24 03:00:12 +00002DIRS := include lib tools docs
Reid Spencer5f016e22007-07-11 17:01:13 +00003
Daniel Dunbar297b0832009-11-15 00:22:33 +00004PARALLEL_DIRS :=
5
6ifeq ($(BUILD_EXAMPLES),1)
7 PARALLEL_DIRS += examples
8endif
9
Reid Spencer5f016e22007-07-11 17:01:13 +000010include $(LEVEL)/Makefile.common
11
Mike Stumpadc981a2009-01-20 21:10:41 +000012ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
Daniel Dunbara9829ae2009-12-21 23:28:06 +000013$(RecursiveTargets)::
Mike Stumpadc981a2009-01-20 21:10:41 +000014 $(Verb) if [ ! -f test/Makefile ]; then \
15 $(MKDIR) test; \
16 $(CP) $(PROJ_SRC_DIR)/test/Makefile test/Makefile; \
17 fi
18endif
19
Reid Spencer5f016e22007-07-11 17:01:13 +000020test::
Chris Lattner9d294b92008-04-06 22:32:01 +000021 @ $(MAKE) -C test
Gabor Greifab72ffe2008-03-18 06:14:16 +000022
23report::
Chris Lattner9d294b92008-04-06 22:32:01 +000024 @ $(MAKE) -C test report
Reid Spencer5f016e22007-07-11 17:01:13 +000025
26clean::
Chris Lattner9d294b92008-04-06 22:32:01 +000027 @ $(MAKE) -C test clean
Gabor Greif5267d7c2008-03-20 14:28:22 +000028
Mike Stump8ba82b32009-02-12 02:25:47 +000029tags::
30 $(Verb) etags `find . -type f -name \*.h | grep -v /lib/Headers | grep -v /test/` `find . -type f -name \*.cpp | grep -v /lib/Headers | grep -v /test/`
31
Daniel Dunbar432eeec2009-03-18 05:59:14 +000032cscope.files:
Daniel Dunbar073777f2009-03-24 03:00:12 +000033 find tools lib include -name '*.cpp' \
Daniel Dunbar432eeec2009-03-18 05:59:14 +000034 -or -name '*.def' \
35 -or -name '*.td' \
36 -or -name '*.h' > cscope.files
37
38.PHONY: test report clean cscope.files
Douglas Gregor14ea5692009-10-08 22:15:31 +000039
40install-local::
41 $(Echo) Installing include files
42 $(Verb) $(MKDIR) $(PROJ_includedir)
43 $(Verb) if test -d "$(PROJ_SRC_ROOT)/tools/clang/include" ; then \
44 cd $(PROJ_SRC_ROOT)/tools/clang/include && \
45 for hdr in `find . -type f '!' '(' -name '*~' \
Axel Naumann1555c3a2009-10-12 16:42:18 +000046 -o -name '.#*' -o -name '*.in' -o -name '*.txt' \
47 -o -name 'Makefile' -o -name '*.td' ')' -print \
Daniel Dunbar717a5952009-11-25 03:46:30 +000048 | grep -v CVS | grep -v .svn | grep -v .dir` ; do \
Douglas Gregor14ea5692009-10-08 22:15:31 +000049 instdir=`dirname "$(PROJ_includedir)/$$hdr"` ; \
50 if test \! -d "$$instdir" ; then \
51 $(EchoCmd) Making install directory $$instdir ; \
52 $(MKDIR) $$instdir ;\
53 fi ; \
54 $(DataInstall) $$hdr $(PROJ_includedir)/$$hdr ; \
55 done ; \
56 fi
57ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
58 $(Verb) if test -d "$(PROJ_OBJ_ROOT)/tools/clang/include" ; then \
59 cd $(PROJ_OBJ_ROOT)/tools/clang/include && \
Axel Naumann1555c3a2009-10-12 16:42:18 +000060 for hdr in `find . -type f '!' '(' -name 'Makefile' ')' -print \
Daniel Dunbar717a5952009-11-25 03:46:30 +000061 | grep -v CVS | grep -v .tmp | grep -v .dir` ; do \
Douglas Gregor14ea5692009-10-08 22:15:31 +000062 $(DataInstall) $$hdr $(PROJ_includedir)/$$hdr ; \
63 done ; \
64 fi
65endif