#================================== # Makefile for building: libsopp.a #================================== # Definitions #------------ # C compiler CC = gcc # C++ compiler CXX = g++ # Include file directory INCLUDES = -I ./include -I ./jsoncpp/include # Object file directory OBJ_DIR = ./obj # C++ flags CXXFLAGS = -W -Wall -Wextra -Wno-unused -std=c++03 -march=native -O3 # Macros #------- # Tests for the obj directory TEST_OBJ = test -d obj # Makes the obj directory MAKE_OBJ = mkdir obj # Removes the obj directory REM_OBJ = rm -rf obj .phony: all clean json all: json object_directory soAnswer.o soUser.o soComment.o soQuestion.o soSite.o soTime.o soUser.o fetch_url.o global.o key.o ar -r libsopp.a jsoncpp/libjsoncpp.a obj/soAnswer.o obj/soComment.o obj/soQuestion.o obj/soSite.o obj/soTime.o obj/soUser.o obj/fetch_url.o obj/global.o obj/key.o clean: $(REM_OBJ) %.o: src/%.cpp $(CXX) $(CXXFLAGS) $(INCLUDES) -c -o obj/$@ $< object_directory: $(TEST_OBJ) || $(MAKE_OBJ) json: $(MAKE) -C jsoncpp install: sudo cp -r include/sopp --target-directory=/usr/include cp libsopp.a /usr/lib/libsopp.a