]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - tools/elftosb/makefile.rules
tools: elftosb: use g++ to compile elftosb to prevent link error due to missing libm
[karo-tx-uboot.git] / tools / elftosb / makefile.rules
index 9cd649e9514c10e6477fb519673befc8121ebc71..3fe2730b880ffc96034b7582be64000a287af8b7 100644 (file)
@@ -15,6 +15,8 @@
 # UNAMES is going to be set to either "Linux" or "CYGWIN_NT-5.1"
 UNAMES = $(shell uname -s)
 
+CXX ?= g++
+
 #*******************************************************************************
 #                               Directories
 
@@ -22,93 +24,93 @@ UNAMES = $(shell uname -s)
 #                               Paths
 
 # search path for source files. make finds them automatically.
-VPATH = \
-       ${SRC_DIR}/common       \
-       ${SRC_DIR}/elftosb2 \
-       ${SRC_DIR}/sbtool       \
+VPATH =                                                \
+       ${SRC_DIR}/common                       \
+       ${SRC_DIR}/elftosb2                     \
+       ${SRC_DIR}/sbtool                       \
        ${SRC_DIR}/keygen
 
 # include directories
-INC_PATH =                      \
-    -I${SRC_DIR}/elftosb2        \
-    -I${SRC_DIR}/keygen   \
-    -I${SRC_DIR}/sbtool      \
-       -I${SRC_DIR}/common
+INC_PATH =                                     \
+    -I${SRC_DIR}/elftosb2                      \
+    -I${SRC_DIR}/keygen                                \
+    -I${SRC_DIR}/sbtool                                \
+    -I${SRC_DIR}/common
 
 #*******************************************************************************
 #                               Build flags
-# gcc Compiler flags
+# Compiler flags
 #    -g                                                : Produce debugging information.
 
-CFLAGS     = -g $(INC_PATH) -D${UNAMES}
+CXXFLAGS       = -g $(INC_PATH) -D${UNAMES}
 
 #*******************************************************************************
 #                               File lists
 
-OBJ_FILES_COMMON =                     \
-       AESKey.o        \
-       Blob.o  \
-       crc.o   \
-       DataSource.o    \
-       DataTarget.o    \
-       ELFSourceFile.o \
-       EncoreBootImage.o       \
-       EvalContext.o   \
-       GHSSecInfo.o    \
-       GlobMatcher.o   \
-       HexValues.o \
-       Logging.o       \
-       Operation.o \
-       OptionDictionary.o      \
-       options.o       \
-       OutputSection.o \
-       Random.o        \
-       RijndaelCBCMAC.o        \
-       rijndael.o      \
-       SHA1.o  \
-       SourceFile.o    \
-       SRecordSourceFile.o \
-       stdafx.o        \
-       StELFFile.o \
-       StExecutableImage.o \
-       StSRecordFile.o \
-       Value.o \
-       Version.o \
-       format_string.o \
-       ExcludesListMatcher.o \
-       SearchPath.o    \
-       DataSourceImager.o \
+OBJ_FILES_COMMON =                             \
+       AESKey.o                                \
+       Blob.o                                  \
+       crc.o                                   \
+       DataSource.o                            \
+       DataTarget.o                            \
+       ELFSourceFile.o                         \
+       EncoreBootImage.o                       \
+       EvalContext.o                           \
+       GHSSecInfo.o                            \
+       GlobMatcher.o                           \
+       HexValues.o                             \
+       Logging.o                               \
+       Operation.o                             \
+       OptionDictionary.o                      \
+       options.o                               \
+       OutputSection.o                         \
+       Random.o                                \
+       RijndaelCBCMAC.o                        \
+       rijndael.o                              \
+       SHA1.o                                  \
+       SourceFile.o                            \
+       SRecordSourceFile.o                     \
+       stdafx.o                                \
+       StELFFile.o                             \
+       StExecutableImage.o                     \
+       StSRecordFile.o                         \
+       Value.o                                 \
+       Version.o                               \
+       format_string.o                         \
+       ExcludesListMatcher.o                   \
+       SearchPath.o                            \
+       DataSourceImager.o                      \
        IVTDataSource.o
 
-OBJ_FILES_ELFTOSB2 =           \
-       ${OBJ_FILES_COMMON} \
-       BootImageGenerator.o    \
-       ConversionController.o  \
-       ElftosbAST.o    \
-       elftosb.o       \
-       elftosb_lexer.o \
-       ElftosbLexer.o  \
-       elftosb_parser.tab.o    \
+OBJ_FILES_ELFTOSB2 =                           \
+       ${OBJ_FILES_COMMON}                     \
+       BootImageGenerator.o                    \
+       ConversionController.o                  \
+       ElftosbAST.o                            \
+       elftosb.o                               \
+       elftosb_lexer.o                         \
+       ElftosbLexer.o                          \
+       elftosb_parser.tab.o                    \
        EncoreBootImageGenerator.o
 
-OBJ_FILES_SBTOOL =                     \
-       ${OBJ_FILES_COMMON} \
-       EncoreBootImageReader.o \
+OBJ_FILES_SBTOOL =                             \
+       ${OBJ_FILES_COMMON}                     \
+       EncoreBootImageReader.o                 \
        sbtool.o
 
-OBJ_FILES_KEYGEN =                     \
-       ${OBJ_FILES_COMMON} \
+OBJ_FILES_KEYGEN =                             \
+       ${OBJ_FILES_COMMON}                     \
        keygen.o
 
 
-LIBS =     -lstdc++
+LIBS = -lstdc++
 
 
 ifeq ("${UNAMES}", "Linux")
 EXEC_FILE_ELFTOSB2 = elftosb
 EXEC_FILE_SBTOOL = sbtool
 EXEC_FILE_KEYGEN = keygen
-else 
+else
 ifeq ("${UNAMES}", "CYGWIN_NT-5.1")
 EXEC_FILE_ELFTOSB2 = elftosb.exe
 EXEC_FILE_SBTOOL = sbtool.exe
@@ -129,7 +131,7 @@ exec_always:
        @echo "SRC_DIR = ${SRC_DIR}"
        @echo "OBJ_FILES = ${OBJ_FILES_ELFTOSB2}"
        @echo "LIBS = ${LIBS}"
-       @echo "EXEC_FILE = ${EXEC_FILE}"
+       @echo "EXEC_FILE_ELFTOSB2 = ${EXEC_FILE_ELFTOSB2}"
        @echo "BUILD_DIR = ${BUILD_DIR}"
 
 clean:
@@ -137,26 +139,25 @@ clean:
                ${EXEC_FILE_ELFTOSB2} ${EXEC_FILE_SBTOOL} ${EXEC_FILE_KEYGEN}
 
 elftosb: ${OBJ_FILES_ELFTOSB2}
-       gcc ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2}
+       $(CXX) ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2}
 
 sbtool: ${OBJ_FILES_SBTOOL}
-       gcc ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL}
+       $(CXX) ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL}
 
 keygen: ${OBJ_FILES_KEYGEN}
-       gcc ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN}
+       $(CXX) ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN}
 
 
-#ifeq ("${UNAMES}", "Linux")
 #ifeq ("${UNAMES}", "Linux")
 # Use default rules for creating all the .o files from the .c files.  Only
 # for linux
-.SUFFIXES : .c .cpp
+.SUFFIXES : .c .cpp .o .h
 
-.c.o :
-       gcc ${CFLAGS} -c $<
+.c.o:
+       $(CC) ${CXXFLAGS} -c $<
 
-.cpp.o :
-       gcc ${CFLAGS} -c $<
+.cpp.o:
+       $(CXX) ${CXXFLAGS} -c $<
 
 #endif
 
@@ -165,13 +166,13 @@ keygen: ${OBJ_FILES_KEYGEN}
 
 %.d: %.c
        @set -e; \
-       $(CC) -MM $(CFLAGS) $< | \
+       $(CC) -MM $(CXXFLAGS) $< | \
        sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
        [ -s $@ ]  || rm -f $@
 
 %.d: %.cpp
        @set -e; \
-       $(CC) -MM $(CFLAGS) $< | \
+       $(CC) -MM $(CXXFLAGS) $< | \
        sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
        [ -s $@ ]  || rm -f $@