Check for __MINGW define instead of __MINGW_H, patch by Henrik Bach.
[oota-llvm.git] / Makefile
index 3c78ec3f92cae3d885669bf0b868e39d94c01357..ae3ffa2a52e2abc02974645614000ae2301f9da5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,18 @@
-##===- ./Makefile ------------------------------------------*- Makefile -*-===##
+#===- ./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 = lib/Support utils 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
 
@@ -17,20 +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:
-       @for dir in lib/Support utils lib tools; do $(MAKE) -C $$dir; done
+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
 
-AUTOCONF = autoconf
-AUTOHEADER = autoheader
+TAGS: tags
 
-configure: autoconf/configure.ac autoconf/aclocal.m4
-       cd autoconf && $(AUTOCONF) -o ../configure configure.ac
+all::
 
-include/Config/config.h.in: autoconf/configure.ac autoconf/aclocal.m4
-       $(AUTOHEADER) -I autoconf autoconf/configure.ac
+tags:
+       find $(wildcard $(SourceDir)/include $(SourceDir)/lib $(SourceDir)/tools) -name '*.cpp' -o -name '*.h' | $(ETAGS) $(ETAGSFLAGS) -