Skip to main content

Posts

Showing posts from January, 2012

How to write a Makefile

Assume there are more number of source files to be compiled using a set of commands everytime is a tedious process. So there is a facility to compile everything at a stretch is by the use of a Makefile.

The makefile can be named as either “Makefile” or “makefile”.

Let me define four files for my simple application, create a new directory and store all the files given below

main.c  (which contains the main program)
sum.c (summing function is defined)
hello.c (print hello world)
function.h (function prototypes are declared)
You can download all the files here

//function.h

int sum(int,int);
void print_hello();

//hello.c

#include <stdio.h>
#include "function.h"
void print_hello()
{
printf("Hello World \n");
}

//sum.c

#include "function.h"
int sum(int a, int b)
{
int c;
c=a+b;
return c;
}

//main.c

#include <stdio.h>
#include "function.h"
int main()
{
int a=10,b=20,c;
print_hello();
c=sum(a,b);
printf("The sum of two numbers is %d ",c);
return 0;
}

There are differe…

Setting Path in Linux

Setting a path information in windows is always been easier, since there is a GUI facility “Environmental Variables”, but I Linux setting a path is always been tricky and it should be done through CLI (Command Line Interface).  Here are the following ways to do:Method 1:For each user (Your login id) of Linux has a home folder (/home/username), there will be a file called as .bashrc (Ubuntu and Fedora) or .bash_profile (Fedora), whatever path has to be set, it should be entered in the above file.For example: if the software is installed in /home/username/software1/, then the PATH has to be set in the .bashrc or .bash_profile file like thisexport PATH=$PATH:/home/username/software1/($PATH is a shell variable refers to the previous set path also to be included in the PATH setting.)For Java Homeexport JAVA_HOME=/home/username/<Java_path>Method 2:The above method of path is applicable only for that user. if other users wanted to access the software, then they have to set the paths. B…