GSoC/GCI Archive
Google Code-in 2011 Haiku

Implement a convertion tool for BeIDE *.proj -> makefile/jamfile convertion.

completed by: Alex11223

mentors: Siarhei Zharski

WARNING: This is research task without guarantie of successfull completion!

Before you start researching and coding:

  • Install Haiku in the virtual machine (Virtual Box is recommended) or on real hardware;
  • Download the R5 BeOS Development tools archive from the link below;
  • Setup the R5 Development tools in some safe, non-standard directory, for example '~/r5-devtools'. It is required to avoid messing current Haiku development tools;
  • Locate some *.proj files that are the Project files of BeIDE - the development environment widely used on BeOS;
  • Also take familiar with the BeIDE/optional/makemake project - this is a tool used to convert BeIDE projects into makefiles. This tools have utilized the BeIDE scripting capabilities and creates the makefiles from the /boot/develop/etc/makefile template;
  • Note that format of BeIDE project files is unpublished and required data should be guessed during your work on this task;
Your task is:
  • Try to research how the following info is stored in the BeIDE project files:
    • name of application;
    • type of application (application, library etc.)
    • list of source files;
    • list of resource files;
    • list of system libraries;
    • list of user libraries;
    • system include paths;
    • user include paths;
    • probably compiler and linker flags;
    • may be something else significant.
  • Use the makemake as sample to write the tool creating makefiles using the info obtained from BeIDE project and /boot/develop/etc/makefile as template.
  • Support generating Jamfiles using the similar structured template as makefile;
Links:
  • http://dev.haiku-os.org/ticket/3601 - ticket requesting this tool;
  • http://www.bebits.com/app/2680 - BeOS R5 Development Tools;
  • http://haiku-os.org/legacy-docs/bebook/index.html - BeBook - system API reference;
  • http://haiku-os.org/development - information about development for Haiku;
  • http://haiku-os.org/development/coding-guidelines - Haiku Coding Guidelines;

Good luck!