I have 4 .c files hello.c,here.c,bye.c and main.c.
One header file mylib.h 
The contents are as follows
hello.c
#include<stdio.h>
void hello()
{
    printf("Hello!\n");
}
here.c
#include<stdio.h>
void here()
{
     printf("I am here \n");
}
bye.c
#include<stdio.h>
void bye()
{
    printf("Bye,Bye");
}
main.c
#include<stdio.h>
#include "mylib.h"
int main()
{ 
  hello();
  here();
  bye();
  return 1;
}
mylib.h
#ifndef _mylib_
#define _mylib_
void hello();
void here();
void bye();
#endif
The makefile for creating a static lib is : Makefile
#Which Compiler
CC = gcc
#Compiler Flags
CFLAGS = - Wall -c -fPIC
DYNLINKFLAGS = -shared -W1,-soname,[email protected]
PROG = main
PROG_OBJS = main.c
LIB = mylib
LIB_FILES = libmylib.so
LIB_MINOR = $(LIB_FILES).0.1
LIB_RELEASE = $(LIB_MINOR).0
LIB_OBJS = hello.o here.o bye.o
PATH = /home/srinivasa/cspp51081/labs/srinivasa.lab2.1
all:    $(LIB_FILES) $(PROG)
#Create Lib with this file
$(LIB_FILES):   $(LIB_OBJS)
            $(CC) $(DYNLINKFLAGS) $^
            ln -sf $(LIB_RELEASE) $(LIB_MINOR)
            ln -sf $(LIB_MINOR) $@
            ln -sf $@ [email protected]
#Compiling main program and link with shared library
$(PROG):        $(PROG_OBJS)
            $(CC) -o $(PROG) $(PORG_OBJS) -l$(LIB) -L$(PATH)
main.o:         main.c
hello.o:        hello.c
here.o:         here.c
bye.o:          bye.c
#clean files
clean:
            rm -rf $(LIB_OBJS) $(LIB_FILES) $(LIB_RELEASE) $(LIB_MINOR) libmylib.so.0
Problem: When I execute the command
make -f Makefile all 
I get the error:
gcc -Wall -fPIC -c -o hello.o hello.c make: gcc: Command not found make: * [hello.o] Error 127
Questions : How do I resolve this?