CURRENT_DIR=/Users/tamama/Work/acedemic/eth/programming-techniques/tutorial-3/how-to-create-and-use-static-library
BIN_PATH=$(CURRENT_DIR)/bin
TMP_PATH=$(CURRENT_DIR)/tmp
SRC_PATH=$(CURRENT_DIR)/src
LIB_PATH=$(CURRENT_DIR)/lib
INCLUDE_PATH=$(CURRENT_DIR)/include

TAMA_LIBRARY_NAME=tama-numeric
PROGRAM_NAME=how-to-use-static-library

CXX=g++
AR=ar rcs

all:
	make lib
	make program

lib: $(SRC_PATH)/$(TAMA_LIBRARY_NAME).C
	@$(CXX) -o $(TMP_PATH)/$(TAMA_LIBRARY_NAME).o -c $(SRC_PATH)/$(TAMA_LIBRARY_NAME).C
	@$(AR) $(LIB_PATH)/lib$(TAMA_LIBRARY_NAME).a $(TMP_PATH)/$(TAMA_LIBRARY_NAME).o
	@rm $(TMP_PATH)/$(TAMA_LIBRARY_NAME).o

program: $(SRC_PATH)/$(PROGRAM_NAME).cpp 
	$(CXX) -I$(INCLUDE_PATH) -o $(BIN_PATH)/$(PROGRAM_NAME) $(SRC_PATH)/$(PROGRAM_NAME).cpp -L$(LIB_PATH) -l$(TAMA_LIBRARY_NAME)

