Sponsored Content
Full Discussion: Makefile for g++
Top Forums Programming Makefile for g++ Post 302974741 by Don Cragun on Thursday 2nd of June 2016 04:27:53 PM
Old 06-02-2016
Your makefile is specifying that the compiler is to be used to compile code to run on Solaris systems and is telling the compiler to predefine the macro SunOS before compiling any of the source files used to build your project.

If you are hoping to build your project on a Linux system creating object files that will run on Solaris/SunOS systems, I don't think that will work unless Linux has recently added some cross-compilation environments that I have seen advertised.

If you are hoping to build your project to run on a Linux system as well as to be built on a Linux system, you will need to examine each of the source files in your project to find out what macros need to be predefined so that they will build correctly in your specific Linux environment instead of in the Solaris/SunOS environment your makefile specifies. If your code does not have #ifdef statements to select appropriate alternatives to SunOS specific segments of your code, you will need to modify those source files to #ifdef code in for your new environment and add the macros that your modified source uses by changing the line in your makefile from:
Code:
DEFINES=-DSunOS

to instead define the macros your sources files expect when building your project to run in your specific Linux environment as well as changing the two lines at the top of your makefile:
Code:
CC=cc
FLAGS=-G -KPIC -DLG_SOLARIS_OS

to:
Code:
CC=gcc

and set FLAGS to whatever options are appropriate for gcc in your environment for the type of code you're trying to build.
 

10 More Discussions You Might Find Interesting

1. Programming

about the makefile

can anyone well explain how to create a makefile? especially those commands in the makefile? BTW, what is CFLAG? (2 Replies)
Discussion started by: ligerdave
2 Replies

2. Programming

Makefile help

Hi, What I want to do is for make to reconstruct the target even if its dependencies have not changed. So, even if if the dependent files do not have a more recent timestamp, the commands are executed. The reason I want to do this.. 1)someone executes make on solaris. We have a solaris... (4 Replies)
Discussion started by: tantric
4 Replies

3. High Performance Computing

help with makefile

I am new to creating makefiles. I have several fortran programs in a folder called as "test" and also have several subroutines in another folder (which is inside this test folder) called as libry My makefile is in the folder "test" I want to create a makefile which can access the files in... (2 Replies)
Discussion started by: explorer
2 Replies

4. UNIX for Advanced & Expert Users

Makefile problem - How to run module load in a Makefile

Hi, I'm trying to run the module load command in a Makefile and i'm getting the following error: make: module: command not found Why is this? Is there any way to run this command in a Makefile? NOTE: command - module load msjava/sunjdk/1.5.0 works fine outside of the Makefile (2 Replies)
Discussion started by: hernandinho
2 Replies

5. UNIX for Advanced & Expert Users

Makefile executing another Makefile first?

I have 2 libraries in 2 different directories that I build with Makefiles. library B depends on library A. If I modify a .cpp file in library A and run lib B's Makefile can I have B's makefile to automatically rebuild library A? I am now rebuilding A, followed by B... but I'd like B to... (0 Replies)
Discussion started by: wwuster
0 Replies

6. Homework & Coursework Questions

Help with Simple Multi-Level Makefile (Extremely New at Makefile)

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Basically, the prompt is make a makefile with various sub makefiles in their respective subdirectories. All code... (1 Reply)
Discussion started by: Tatl
1 Replies

7. Homework & Coursework Questions

Makefile Help

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I have been trying to make the program swap but i have been getting errors with the makefile such as driver.o:... (1 Reply)
Discussion started by: mgyeah
1 Replies

8. UNIX for Dummies Questions & Answers

Help with MakeFile

I'm really confused how to use a makefile. Are you supposed to be make a file from emacs called MakeFile and put code in there to compile? I am trying to create a makefile to compile two .cpp files in my current directory to produce two .o files and then link them... What I did was make a... (1 Reply)
Discussion started by: jzhang172
1 Replies

9. Shell Programming and Scripting

Makefile

Dear all, I have a quite simple question about how to manipulate "makefile.am". I intend to: 1. "CFLAGS" and "CXXFLAGS" have no value at all. I know that these values get "-g -O2" by default. On the other hand, when I try to set them as "CFLAGS = " in "makefile.am", I get warning messages... (4 Replies)
Discussion started by: Dandan
4 Replies

10. UNIX for Dummies Questions & Answers

MakeFile

Hey everybody, This may be stup*d question for you, but i am new in unix and i wonder how can i make the rules for translating and linking my .c "primjer1.c", "primjer2.c" and "primjer3.c" in makefile. Thank you. (7 Replies)
Discussion started by: jskako
7 Replies
CONFIG.GUESS(1) 						   User Commands						   CONFIG.GUESS(1)

NAME
config.guess - guess the build system triplet SYNOPSIS
config.guess [OPTION] DESCRIPTION
The GNU build system distinguishes three types of machines, the `build' machine on which the compilers are run, the `host' machine on which the package being built will run, and, exclusively when you build a compiler, assembler etc., the `target' machine, for which the compiler being built will produce code. This script will guess the type of the `build' machine. Output the configuration name of the system `config.guess' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit ENVIRONMENT VARIABLES
config.guess might need to compile and run C code, hence it needs a compiler for the `build' machine: use the environment variable `CC_FOR_BUILD' to specify the compiler for the build machine. If `CC_FOR_BUILD' is not specified, `CC' will be used. Be sure to specify `CC_FOR_BUILD' is `CC' is a cross-compiler to the `host' machine. CC_FOR_BUILD a native C compiler, defaults to `cc' CC a native C compiler, the previous variable is preferred REPORTING BUGS
Report bugs and patches to <config-patches@gnu.org>. Originally written by Per Bothner. Copyright 1992-2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. SEE ALSO
autoconf(1), automake(1), autoreconf(1), autoupdate(1), autoheader(1), autoscan(1), config.guess(1), config.sub(1), ifnames(1), libtool(1). GNU Autoconf 2.69 August 2017 CONFIG.GUESS(1)
All times are GMT -4. The time now is 04:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy