我有一个bash脚本,其中包含大量导出文件和一个makefile文件是否可以根据此信息自动创建Eclipse CDT项目?

问题描述

我有以下bash脚本和makefile。

是否有可能根据此信息创建常规的Eclipse CDT项目,还是我需要费力地进行手动设置。

另外,我如何在Eclipse中设置pkg-config路径。

我正在使用版本2019-03,目标是使用由Yocto创建的SDK的ARM嵌入式Linux系统,我的工作站是Linux Mint 17.3

bash脚本(来源):

export SDKTARGETSYSROOT=/opt/gad/1.0.0/sysroots/cortexa9hf-vfp-neon-gad-linux-gnueabi
export PATH=/opt/gad/1.0.0/sysroots/x86_64-gadsdk-linux/usr/bin:/opt/gad/1.0.0/sysroots/x86_64-gadsdk-linux/usr/bin/arm-gad-linux-gnueabi:$PATH
export PKG_CONfig_SYSROOT_DIR=$SDKTARGETSYSROOT
export PKG_CONfig_PATH=$SDKTARGETSYSROOT/usr/lib/pkgconfig
export CONfig_SITE=/opt/gad/1.0.0/site-config-cortexa9hf-vfp-neon-gad-linux-gnueabi
export OECORE_NATIVE_SYSROOT="/opt/gad/1.0.0/sysroots/x86_64-gadsdk-linux"
export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"
export OECORE_ACLOCAL_OPTS="-I /opt/gad/1.0.0/sysroots/x86_64-gadsdk-linux/usr/share/aclocal"
export PYTHONHOME=/opt/gad/1.0.0/sysroots/x86_64-gadsdk-linux/usr
export CC="arm-gad-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export CXX="arm-gad-linux-gnueabi-g++  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export CPP="arm-gad-linux-gnueabi-gcc -E  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export AS="arm-gad-linux-gnueabi-as "
export LD="arm-gad-linux-gnueabi-ld  --sysroot=$SDKTARGETSYSROOT"
export GDB=arm-gad-linux-gnueabi-gdb
export STRIP=arm-gad-linux-gnueabi-strip
export RANLIB=arm-gad-linux-gnueabi-ranlib
export OBJcopY=arm-gad-linux-gnueabi-objcopy
export OBJDUMP=arm-gad-linux-gnueabi-objdump
export AR=arm-gad-linux-gnueabi-ar
export NM=arm-gad-linux-gnueabi-nm
export M4=m4
export TARGET_PREFIX=arm-gad-linux-gnueabi-
export CONfigURE_FLAGS="--target=arm-gad-linux-gnueabi --host=arm-gad-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=$SDKTARGETSYSROOT"
export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export CPPFLAGS=""
export OECORE_disTRO_VERSION="1.0.0"
export OECORE_SDK_VERSION="1.0.0"
export ARCH=arm
export CROSS_COMPILE=arm-gad-linux-gnueabi-

make文件是:

EXTRACFLAGS +=$(shell pkg-config --cflags libshareddata)
EXTRALDFLAGS +=$(shell pkg-config --libs libshareddata)
EXTRACFLAGS +=$(shell pkg-config --cflags libcan)
EXTRALDFLAGS +=$(shell pkg-config --libs libcan)
EXTRACFLAGS +=$(shell pkg-config --cflags libtguxtools)
EXTRALDFLAGS +=$(shell pkg-config --libs libtguxtools)
EXTRACFLAGS +=$(shell pkg-config --cflags libcjson)
EXTRALDFLAGS +=$(shell pkg-config --libs libcjson)
EXTRACFLAGS +=$(shell pkg-config --cflags libsettings)
EXTRALDFLAGS +=$(shell pkg-config --libs libsettings)
EXTRACFLAGS +=$(shell pkg-config --cflags libactiagps)
EXTRALDFLAGS +=$(shell pkg-config --libs libactiagps)
EXTRACFLAGS +=$(shell pkg-config --cflags libJ1939)
EXTRALDFLAGS +=$(shell pkg-config --libs libJ1939)

EXTRACFLAGS +=$(shell pkg-config --cflags dbus-c++-shiny-1 glib-2.0 dbus-glib-1 dbus-1 actia-platform-1)
EXTRALDFLAGS +=$(shell pkg-config --libs dbus-c++-shiny-1 glib-2.0 dbus-glib-1 dbus-1 actia-platform-1)
EXTRACFLAGS +=-DTGUR_PLATFORM
EXTRALDFLAGS +=-L/media/apps/userfs/lib/TGU/
EXTRACFLAGS  +=-I./inc/ -std=c++11
CFLAGS_RLINK=-Wl,-rpath

#Get Current directory
CURDIR=$(shell pwd)
OUTPUT_BIN_DIR=${CURDIR}/output/bin/
ISA_BIN=${OUTPUT_BIN_DIR}ISA_daemon

SRC=$(wildcard src/*.c)
OBJ=$(patsubst %.c,%.o,$(SRC))

LibisaLibraryPath=$(wildcard lib/libisaLibrary.so*)
LibisaLibrary=$(patsubst lib/%,%,$(LibisaLibraryPath))
LibisaUpdaterLibraryPath=$(wildcard lib/libisaUpdaterLibrary.so*)
LibisaUpdaterLibrary=$(patsubst lib/%,$(LibisaUpdaterLibraryPath))
LibGeoFencingLibraryPath=$(wildcard lib/libGeoFencingLibrary.so*)
LibGeoFencingLibrary=$(patsubst lib/%,$(LibGeoFencingLibraryPath))
LibActiaGeoJsonLibraryPath=$(wildcard lib/libActiaGeoJsonLibrary.so*)
LibActiaGeoJsonLibrary=$(patsubst lib/%,$(LibActiaGeoJsonLibraryPath))

EXTRALDFLAGS +=-lpthread
EXTRALDFLAGS +=-lrt
EXTRALDFLAGS +=-ldl
EXTRALDFLAGS +=-ldl
EXTRALDFLAGS +=-lstdc++

ISA_SRC_PATH=${CURDIR}/src/

all: ISA_daemon

ISA_daemon:${OBJ}
    mkdir -p ${OUTPUT_BIN_DIR}
    ${CXX} -Wall -o ${ISA_BIN} ${OBJ} ${EXTRALDFLAGS}
    
-include $(OBJ:.o=.d)

%.o: %.c
    ${CXX} -o $@ -c ${EXTRACFLAGS} $(CFLAGS_RLINK)  $*.c
    ${CXX} -MM -MT $@ ${EXTRACFLAGS} $(CFLAGS_RLINK) $*.c > $*.d
        
clean:
    @find ${ISA_SRC_PATH} -name "*.o" | xargs rm -rvf
    @find ${ISA_SRC_PATH} -name "*.d" | xargs rm -rvf
    @find ${CURDIR} -name "*.~" | xargs rm -rvf
    @rm -rvf ${ISA_BIN}


.PHONY: all ISA_daemon clean

谢谢

蒂姆

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)