Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic SYNERGY (steve huntington)
Decrease font size
Increase font size
Topic Title: ObjectMake - what is it?
Topic Summary:
Created On: 19-Oct-2004 13:49
Status: Read Only
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
Answer This question was answered by Philipp Weißmann, on Thursday, November 18, 2004 4:49 PM

Answer:
As far as I know ObjectMake is a Make-tool (like GNU-make or Borland Make) which is used to run batch processes when building software. ObjectMake has the speciality, that it can compile on an other machine. So you could use a high end compiler machine, let your users trigger the compilation process on some slow workstations and get the software compiled quickly.
 19-Oct-2004 13:49
User is offline View Users Profile Print this message


Nick Morris

Posts: 4
Joined: 19-Mar-2004

My department is cconsidering some CM Synergy training and the course literature mentions 'ObjectMake' as a topic in the Build Mangers course. Can someone give an overview on what the utility does? ie it's purpose/benefits etc.
Report this to a Moderator Report this to a Moderator
 25-Oct-2004 12:57
User is offline View Users Profile Print this message


Philipp Weißmann

Posts: 28
Joined: 12-Oct-2004

Answer Answer
As far as I know ObjectMake is a Make-tool (like GNU-make or Borland Make) which is used to run batch processes when building software. ObjectMake has the speciality, that it can compile on an other machine. So you could use a high end compiler machine, let your users trigger the compilation process on some slow workstations and get the software compiled quickly.
Report this to a Moderator Report this to a Moderator
 26-Oct-2004 13:17
User is offline View Users Profile Print this message


Dominic Tavassoli

Posts: 11
Joined: 10-Sep-2004

Some more detail here:
http://www.telelogic.com/products/synergy/objectmake/index.cfm
Dom

-------------------------
Dominic Tavassoli
Director Product Marketing
Telelogic
Report this to a Moderator Report this to a Moderator
 19-Nov-2004 03:43
User is offline View Users Profile Print this message


David Anderson

Posts: 3
Joined: 18-Jun-2003

ObjectMake (OM) is a make tool like any other, except, it has a deep understanding of the source-controlled files. Some time ago, I wrote a response that explains a number of features to ObjectMake -- perhaps you'll find these of interest as well!

Enjoy...

----------------------------
1. Understanding of controlled objects in the CM system

OM knows that if a target in the makefile is a CM-controlled product, OM will automatically checkout a new writeable version of the product if necessary (i.e. the product is still static at the time of build). Regular make programs would fail the build because the OS would see that the target being built is read-only and therefore, not be able to create a new product.

2. Sub-Project Support

The CM Synergy product, by default, embeds the version of a project as part of the workarea path in the file system. We do this because we can have multiple versions or releases of a project. Since the path to the sources in a project can be physically located anywhere in the file system (i.e. not always relative), each time you checkout a new project hierarchy, the paths to the sources will change.

Why is this important?

The makefile looks for files by either an explicit path or a specific (absolute) path. If I checkout a new hierarchy, it implies that all makefiles would need to be updated. With OM, we can use the ${CCM_SUBPROJ} macro to dynamically determine the paths to the sources *without* having to modify the makefile. Since project hierarchy checkouts are a common operation, this feature alone saves a lot of time and effort and maintains build integrity.

Example:

--------------------
Building without OM:

LOCAL_LIBS=/usr/home/anderson/ccm_wa/db/libs-1.0/libs/lib

foo.exe: foo.obj
ld ${OPTIONS} ${LOCAL_LIBS}, etc...
--------------------
*Notice the requirement of including the path to the libs with version info (libs-1.0)


--------------------
Building with OM and using the CCM_SUBPROJ macro:

LOCAL_LIBS=${CCM_SUBPROJlibs}/lib

foo.exe: foo.obj
ld ${OPTIONS} ${LOCAL_LIBS}, etc...
--------------------
*Notice the version of the project was not needed, only the project name (libs) was required. This means the makefile does not need to be updated when a new version of a project is created, or when the user changes the work area path for one or many projects. A very powerful feature indeed!

3. Incremental build support

CM Synergy allows a user to 'use' a specific version of any file in a configuration. If a user were to 'use' an older version of source, regular make programs would not consider the product of that source 'out-of-date' because the timestamp on the source would still be older that the product (object). OM can tell through the 'bind-time' that the version of a source has changed and thus immediately consider it 'out-of-date' regardless of the timestamp in the file system.

4. Bill Of Materials

OM generates a bill of materials that is stored as an attribute of the target product. It contains all the information about the build and build environment.

5. Foreign Build Support

OM can support building on platforms where we do not have client support. In other words, a build can be started on a supported client and the actual build command can be configured to build on a remote (unsupported) platform.

6. Distributed/Parallel Build Support

OM can distribute the building of a target across multiple build machines. OM has the ability to detect when a target is not dependent on other targets and then submit the build of this target to another machine in parallel (i.e. not build sequentially).

7. Dependency Checking

OM performs the dependency analysis similar to the popular 'mkdepend' command. The results of the dependency check is then stored as an attribute on the project object; meaning the makefile does not need to explicitly include a generated source file from some 3rd party tool.

8. 3rd Party Make Support

If required, OM can be set to use another make program if the makefile to build is not compatible with OM.

9. Project/Makefile Macro support

OM can store make macros that have either makefile-level scope (defined within the scope of a single makefile) and project-level scope. This is very useful for *transient* macros that are set during development (e.g. Debug).

Note: The reason I state 'transient' macros is because the project/makefile macros are stored as attributes and are therefore, not versioned. In other words, I cannot expect to track the changes to the macros over time. If macros need to be versioned/tracked, then the macro must be defined in the makefile itself, thus forcing a checkout of the makefile in order to update/change the value of a macro.


-------------------------
David Anderson
Managing Principal
Telelogic North America
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic SYNERGY forum.
There are currently 0 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 15:34.
There are currently 0 guests browsing this forum, which makes a total of 0 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.