Home » Developing U++ » Bugs (& fixes) » Problem with FreeBSD
Re: Problem with FreeBSD [message #47260 is a reply to message #47144] |
Mon, 02 January 2017 04:50   |
Sender Ghost
Messages: 301 Registered: November 2008
|
Senior Member |
|
|
There is another issue for exported Makefile, but this is not FreeBSD specific and may depend from contents of exported project. For example, based on exported uppsrc/ide project:
$ umk uppsrc ide CLANG -rsX ~/ide
<...>
$ cd ~/ide
$ gmake
<...>
gmake: *** No rule to make target 'Turtle/FB.iml', needed by '_out/ide/CLANG-Bsd-Clang-Freebsd-Gui-Main-Mt-Posix-Shared/BaseDlg.o'. Stop.
The possible cause of this issue is usage of following code in uppsrc/CtrlCore/CtrlCore.h file:
#ifdef flagTURTLE
#define GUIPLATFORM_KEYCODES_INCLUDE <Turtle/Keys.h>
//need to make SDL_keysym.h known before K_ enum
#define GUIPLATFORM_INCLUDE <Turtle/Turtle.h>
where current HdependGetDependencies method in uppsrc/ide/Builders/MakeFile.cpp file may add Turtle/FB.iml (and other files in uppsrc/Turtle directory) as dependency for some rule(s) in exported Makefile, independent from list of exported files and/or used compiler flags (which may be related to (simplified) preprocessor parser).
This issue possible to reproduce for unused parts of source code, which contains include(s) to existing file(s) in assembly directories, but which are not exported (e.g. in case of no related U++ project's dependency). For example, usage of following code, but without GLCtrl dependency in a U++ project:
#if 0
#include <GLCtrl/GLCtrl.h>
#endif
The manual solution is to comment/remove such parts of source code (before export) or copy such directory/file(s) to directory of exported project.
Personally, I created another solution (based on some information from following topics: "Autodependencies with GNU make", "Auto-Dependency Generation", "Preprocessor Options"), which adds additional C/C++ compiler options in the process of Makefile's generation, related to creation of compiler generated file(s) with dependency information (as a side-effect of compilation). The patch attached (based on 9813 revision of uppsrc/ide/Builders/MakeFile.cpp file). This was tested for Clang 3.4.1, 3.9.1 and GCC 4.9.4 on FreeBSD 10.2.
[Updated on: Mon, 02 January 2017 06:45] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Fri Jun 06 12:33:37 CEST 2025
Total time taken to generate the page: 0.03516 seconds
|