LO27/Makefile

36 lines
1.0 KiB
Makefile
Raw Normal View History

2016-11-09 10:06:10 +00:00
CXX = gcc
TARGET = exe
SOURCEFILE = main
CFLAGS = -Wall -Werror -I. -ansi -pedantic -fpic -g
LIST_LIBRARY = matrix/libMatrix
#Generating the executable
$(TARGET): $(SOURCEFILE).o
@echo "Generating the executable"
$(CXX) $(CFLAGS) $(SOURCEFILE).o -o $(TARGET)
$(SOURCEFILE).o: $(LIST_LIBRARY).so
@echo "Generating $(SOURCEFILE).o"
$(CXX) $(CFLAGS) -Lmatrix -lmatrix -c $(SOURCEFILE).c -o $@ -LlibMatrix -llibMatrix.so
$(LIST_LIBRARY).so:clean
@echo "Generating libMatrix.so" $@
#gcc matrix.c -I. -Wall -Werror -fpic -shared -o $(LIST_LIBRARY).so
$(CXX) -Wall -Werror -ansi -pedantic -I. matrix.c -o $(LIST_LIBRARY).so -shared -fpic
#Cleaning the executable
clean:
@echo "Cleaning temporary files and libMatrix.so"
rm -rf *.o *- *.so $(TARGET)
rm -rf $(LIST_LIBRARY).so
#Generating library
lib:
@echo "Generating libMatrix.so"
$(CXX) -Wall -Werror -ansi -pedantic -I. matrix.c -o $(LIST_LIBRARY).so -shared -fpic
release:
@echo "Generating a release version of the program"
make CFLAGS= '-Wall -Werror -I. -ansi -pedantic -fpic'