Turn things with obviously undefined semantics into 'store -> null'
[oota-llvm.git] / Makefile
index 1e8d99c0b3caeeaacd3bf4db732024793da0bb7f..ae3ffa2a52e2abc02974645614000ae2301f9da5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,18 @@
+#===- ./Makefile -------------------------------------------*- Makefile -*--===#
+# 
+#                     The LLVM Compiler Infrastructure
+#
+# This file was developed by the LLVM research group and is distributed under
+# the University of Illinois Open Source License. See LICENSE.TXT for details.
+# 
+#===------------------------------------------------------------------------===#
 LEVEL = .
-DIRS = support lib tools runtime
-OPTIONAL_DIRS = projects
+DIRS = lib/System lib/Support utils lib tools 
+
+ifneq ($(MAKECMDGOALS),tools-only)
+DIRS += runtime
+OPTIONAL_DIRS = examples projects
+endif
 
 include $(LEVEL)/Makefile.common
 
@@ -9,8 +21,32 @@ test :: all
 
 distclean:: clean
        $(VERB) $(RM) -rf $(LEVEL)/Makefile.config \
-                         $(LEVEL)/include/Config/config.h \
+                         $(LEVEL)/include/llvm/Config/config.h \
                          $(LEVEL)/autoconf/autom4te.cache \
                          $(LEVEL)/config.log \
                          $(LEVEL)/TAGS
 
+tools-only: all
+
+# Install support for llvm include files:
+.PHONY: install-includes
+
+install-includes:
+       $(MKDIR) $(DESTDIR)$(includedir)/llvm
+       cd include && find * -path '*/Internal' -prune -o '(' '!' '(' -name '*~' -o -name .cvsignore ')' -print ')' | grep -v CVS | pax -rwdvpe $(DESTDIR)$(includedir)/llvm
+ifneq ($(BUILD_SRC_ROOT),$(BUILD_OBJ_ROOT))
+       cd $(BUILD_SRC_ROOT)/include && find * -path '*/Internal' -prune -o '(' '!' '(' -name '*~' -o -name .cvsignore ')' -print ')' | grep -v CVS | pax -rwdvpe $(DESTDIR)$(includedir)/llvm
+endif
+
+install:: install-includes
+
+# Build tags database for Emacs/Xemacs:
+.PHONY: tags
+
+TAGS: tags
+
+all::
+
+tags:
+       find $(wildcard $(SourceDir)/include $(SourceDir)/lib $(SourceDir)/tools) -name '*.cpp' -o -name '*.h' | $(ETAGS) $(ETAGSFLAGS) -
+