Fix PR#226: When emitting padding, always emit it as bytes. Bytes can be
[oota-llvm.git] / Makefile.rules
index 4831d1d965e2436ed085dfc3ce4528adce7b0c2c..fecbaac36c5fbd2838deafbc3395dc3ccffbcc01 100644 (file)
@@ -109,7 +109,7 @@ prdirs::
 ###########################################################################
 .SUFFIXES:
 .SUFFIXES: .c .cpp .h .hpp .y .l
-.SUFFIXES: .lo .o .a .$(SHLIBEXT) .bc .td
+.SUFFIXES: .lo .o .a $(SHLIBEXT) .bc .td
 .SUFFIXES: .ps .dot .d
 
 #
@@ -352,7 +352,7 @@ Depend   := $(CXX) -MM -I$(LEVEL)/include $(CPPFLAGS)
 DependC  := $(CC)  -MM -I$(LEVEL)/include $(CPPFLAGS) 
 
 # Archive a bunch of .o files into a .a file...
-AR       = ${AR_PATH} cq 
+AR       = $(AR_PATH) cr
 
 #----------------------------------------------------------
 
@@ -454,15 +454,20 @@ endif
 #  of it.  For this reason, sometimes it's useful to use libraries as .a files.
 ###########################################################################
 
+# Install rule for making bytecode library directory if it does not exist.
+# Trigger this by making libraries that need to be installed here depend on it.
+$(DESTDIR)$(bytecode_libdir):
+       $(MKDIR) $@
+
 ifdef LIBRARYNAME
 
 # Make sure there isn't any extranous whitespace on the LIBRARYNAME option
 LIBRARYNAME := $(strip $(LIBRARYNAME))
 
-LIBNAME_O    := $(DESTLIBRELEASE)/lib$(LIBRARYNAME).$(SHLIBEXT)
-LIBNAME_P    := $(DESTLIBPROFILE)/lib$(LIBRARYNAME).$(SHLIBEXT)
-LIBNAME_G    := $(DESTLIBDEBUG)/lib$(LIBRARYNAME).$(SHLIBEXT)
-LIBNAME_CUR  := $(DESTLIBCURRENT)/lib$(LIBRARYNAME).$(SHLIBEXT)
+LIBNAME_O    := $(DESTLIBRELEASE)/lib$(LIBRARYNAME)$(SHLIBEXT)
+LIBNAME_P    := $(DESTLIBPROFILE)/lib$(LIBRARYNAME)$(SHLIBEXT)
+LIBNAME_G    := $(DESTLIBDEBUG)/lib$(LIBRARYNAME)$(SHLIBEXT)
+LIBNAME_CUR  := $(DESTLIBCURRENT)/lib$(LIBRARYNAME)$(SHLIBEXT)
 LIBNAME_AO   := $(DESTLIBRELEASE)/lib$(LIBRARYNAME).a
 LIBNAME_AP   := $(DESTLIBPROFILE)/lib$(LIBRARYNAME).a
 LIBNAME_AG   := $(DESTLIBDEBUG)/lib$(LIBRARYNAME).a
@@ -482,9 +487,9 @@ LIBNAME_BC   := $(DESTLIBBYTECODE)/lib$(LIBRARYNAME).bc
 # dynamic target builds a shared object version of the library...
 dynamic:: $(LIBNAME_CUR)
 bytecodelib:: $(LIBNAME_BC)
-install-bytecode-library:: $(LLVMGCCDIR)/bytecode-libs/lib$(LIBRARYNAME).bc
+install-bytecode-library:: $(DESTDIR)$(bytecode_libdir)/lib$(LIBRARYNAME).bc
 
-$(LLVMGCCDIR)/bytecode-libs/lib$(LIBRARYNAME).bc: $(LIBNAME_BC)
+$(DESTDIR)$(bytecode_libdir)/lib$(LIBRARYNAME).bc: $(LIBNAME_BC) $(DESTDIR)$(bytecode_libdir)
        @${ECHO} ======= Installing $(LIBRARYNAME) bytecode library =======
        cp $< $@
 
@@ -543,8 +548,8 @@ $(LIBNAME_G): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir
        @${ECHO} ======= Finished building $(LIBRARYNAME) dynamic debug library =======
 
 install-dynamic-library: $(LIBNAME_CUR)
-       $(MKDIR) $(libdir)
-       $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_CUR) $(libdir)/lib$(LIBRARYNAME).$(SHLIBEXT)
+       $(MKDIR) $(DESTDIR)$(libdir)
+       $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_CUR) $(DESTDIR)$(libdir)/lib$(LIBRARYNAME)$(SHLIBEXT)
 
 #
 # Rules for building static archive libraries.
@@ -568,8 +573,8 @@ $(LIBNAME_AG): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir
        @${ECHO} ======= Finished building $(LIBRARYNAME) archive debug library =======
 
 install-archive-library: $(LIBNAME_ACUR)
-       $(MKDIR) $(libdir)
-       $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_ACUR) $(libdir)/lib$(LIBRARYNAME).a
+       $(MKDIR) $(DESTDIR)$(libdir)
+       $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_ACUR) $(DESTDIR)$(libdir)/lib$(LIBRARYNAME).a
 
 #
 # Rules for building .o libraries.
@@ -598,26 +603,9 @@ $(LIBNAME_OBJG): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir
        $(VERB) $(Relink) -o $@ $(RObjectsG) $(LibSubDirs)
 
 install-single-object-library: $(LIBNAME_OBJCUR)
-       $(MKDIR) $(libdir)
-       $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_OBJCUR) $(libdir)/$(LIBRARYNAME).o
-
-endif
+       $(MKDIR) $(DESTDIR)$(libdir)
+       $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_OBJCUR) $(DESTDIR)$(libdir)/$(LIBRARYNAME).o
 
-#------------------------------------------------------------------------
-# Create a TAGS database for emacs
-#------------------------------------------------------------------------
-
-ifneq ($(ETAGS),false)
-ifeq ($(LEVEL), .)
-SRCDIRS := $(wildcard $(SourceDir)/include $(SourceDir)/lib $(SourceDir)/tools)
-
-tags:
-       $(ETAGS) -l c++ `find $(SRCDIRS) -name '*.cpp' -o -name '*.h'`
-all:: tags
-endif
-else
-tags:
-       ${ECHO} "Cannot build $@: The program etags is not installed"
 endif
 
 #------------------------------------------------------------------------
@@ -698,8 +686,8 @@ $(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(DESTTOOLPROFILE)/.dir
        @${ECHO} ======= Finished building $(TOOLNAME) profile executable =======
 
 install:: $(TOOLEXENAMES)
-       $(MKDIR) $(bindir)
-       $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) -c -m 0755 $(TOOLEXENAMES) $(bindir)/$(TOOLNAME)
+       $(MKDIR) $(DESTDIR)$(bindir)
+       $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) -c -m 0755 $(TOOLEXENAMES) $(DESTDIR)$(bindir)/$(TOOLNAME)
 
 endif