# Pull in limit macros from stdint.h, even in C++:
CPPFLAGS += -D__STDC_LIMIT_MACROS
+### FIXME: this is GCC specific
+CPPFLAGS += -DDEPRECATED='__attribute__ ((deprecated))'
+
CompileCommonOpts := -Wall -W -Wwrite-strings -Wno-unused
CompileOptimizeOpts := -O3 -DNDEBUG -finline-functions
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
#----------------------------------------------------------
# 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
# 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 $< $@
@${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.
@${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.
$(VERB) $(Relink) -o $@ $(RObjectsG) $(LibSubDirs)
install-single-object-library: $(LIBNAME_OBJCUR)
- $(MKDIR) $(libdir)
- $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_OBJCUR) $(libdir)/$(LIBRARYNAME).o
-
-endif
-
-#------------------------------------------------------------------------
-# Create a TAGS database for emacs
-#------------------------------------------------------------------------
-
-ifneq ($(ETAGS),false)
-ifeq ($(LEVEL), .)
-SRCDIRS := $(wildcard $(SourceDir)/include $(SourceDir)/lib $(SourceDir)/tools)
+ $(MKDIR) $(DESTDIR)$(libdir)
+ $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_OBJCUR) $(DESTDIR)$(libdir)/$(LIBRARYNAME).o
-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
#------------------------------------------------------------------------
@${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