Я изучаю cedet для своих проектов c/c++. Однако я сталкиваюсь с трудностями в проектах Make.
Скажем, у меня есть файл main.cpp, который выглядит так
//main.cpp
#include "temp.h"
blah... <c++ code>
и у меня есть temp.h и temp.cpp
это выглядит так
//temp.h
some declarations
//temp.cpp
some definitions
Затем в emacs+cedet я делаю ede-new
, затем добавляю цель main с помощью ede-new-target
и добавляю main.cpp в main.
Затем я пишу temp.h и temp.cpp и добавляю temp.cpp к целевому temp.
Я выбираю все цели как программу, создающую этот файл Project.ede.
;; Object Test
;; EDE project file.
(ede-proj-project "Test"
:name "Test"
:file "Project.ede"
:targets (list
(ede-proj-target-makefile-program "main"
:name "main"
:path ""
:source '("main.cpp")
)
(ede-proj-target-makefile-program "temp"
:name "temp"
:path ""
:source '("temp.cpp")
)
)
)
Теперь, когда я создаю make-файл с помощью ede-proj-regenerate, он создает Makefile, который генерирует main.o и temp.o.
Однако make не удается, так как сгенерированный Makefile не идентифицирует зависимость main.cpp от temp.cpp. Как я могу указать cedet EDE идентифицировать эту зависимость? Что не так в том, что я здесь делаю?
И, во-вторых, как мне сказать, что мне не нужен main.o, поскольку это конечная целевая программа/исполняемый файл, а не объектный файл.