Create a makefile called makefile based on all the cpp


Write a Bash shell script, makemake.sh, that will create a makefile called Makefile based on all the .cpp files in the current directory. If a .cpp file has any #includes of non-system header files (those with double  quotes around them), then those files should be listed in its dependencies. The -Wall -ansi, and -g options will  always be used with g++. The shell script takes the name of the executable as its first argument. If no argument is  provided, the script should report the error, and print a usage statement. All other parameters are additional options  that should be used with every call to g++. The Makefile should end with a "clean:" routine that removes the  executable and all object files. (Hints: the -n option of echo inhibits the default newline, and \t and \n work with echo.  I used sed and awk to get at the name of the header files within the .cpp files.)[davis@lect1 p1]$ ls  appointment.cpp calendar.cpp day.h dayofweek.h Lnk.c private time.h year.h  appointment.h day.cpp dayofweek.cpp Ins.c makemake.sh time.cpp year.cpp 
[davis@lect1 p1]$ makemake.sh 
Executable name required. 
usage: makemake.sh executable_name 
[davis@lect1 p1]$ makemake.sh cal.out 
[davis@lect1 p1]$ make 
g++ -ansi -Wall -g -c appointment.cpp 
g++ -ansi -Wall -g -c calendar.cpp 
g++ -ansi -Wall -g -c day.cpp 
g++ -ansi -Wall -g -c dayofweek.cpp 
g++ -ansi -Wall -g -c time.cpp 
g++ -ansi -Wall -g -c year.cpp 
g++ -ansi -Wall -g -o cal.out appointment.o calendar.o day.o dayofweek.o time.o year.o 
[davis@lect1 p1]$ make clean 
rm -f cal.out appointment.o calendar.o day.o dayofweek.o time.o year.o 
[davis@lect1 p1]$ makemake.sh cal.out -O2 -g 
[davis@lect1 p1]$ cat Makefile 
cal.out : appointment.o calendar.o day.o dayofweek.o time.o year.o 
g++ -ansi -Wall -g -o cal.out -O2 -g appointment.o calendar.o day.o dayofweek.o time.o 
year.o 
appointment.o : appointment.cpp appointment.h 
g++ -ansi -Wall -g -c -O2 -g appointment.cpp 
calendar.o : calendar.cpp year.h 
g++ -ansi -Wall -g -c -O2 -g calendar.cpp 
day.o : day.cpp appointment.h day.h dayofweek.h 
g++ -ansi -Wall -g -c -O2 -g day.cpp 
dayofweek.o : dayofweek.cpp dayofweek.h 
g++ -ansi -Wall -g -c -O2 -g dayofweek.cpp 
time.o : time.cpp time.h 
g++ -ansi -Wall -g -c -O2 -g time.cpp 
year.o : year.cpp year.h day.h 
g++ -ansi -Wall -g -c -O2 -g year.cpp 
clean : 
rm -f cal.out appointment.o calendar.o day.o dayofweek.o time.o year.o 
[davis@lect1 p1]mce_markernbsp; 

Request for Solution File

Ask an Expert for Answer!!
Operating System: Create a makefile called makefile based on all the cpp
Reference No:- TGS0923344

Expected delivery within 24 Hours