UNO_LIB_OBJFILES = LSMIncorrectCalculation.o PStringToken.o	# 여기에 모듈들의 오브젝트 파일이름을 적는다.
MODULE_OBJ_FLAGS = -I ../../include -D_LINUX_ -g
INCLUDES = ../../include/AnalysisModuleInterface.h ../../include/InOutPin.h 	# 소스코드 위치는 Sta~/Inc~/LSMInco/, Makefile 위치도 이곳에
GPP = g++
GCC = gcc
CFLAGS = -fpic

all :
	make LSMIncorrectCalculation.so			# 여기 ??.so 파일의 이름을 내가 만들 모듈의 이름으로 바꾼다?
	cp -f LSMIncorrectCalculation.so ../../Modules
	cp -f LSMIncorrectCalculation.so ../../SwALinuxSource/Module

LSMIncorrectCalculation.so : $(UNO_LIB_OBJFILES)
	$(GPP) -g -shared -lc -o LSMIncorrectCalculation.so $(UNO_LIB_OBJFILES)

LSMIncorrectCalculation.o : LSMIncorrectCalculation.cpp LSMIncorrectCalculationInfo.h LICAnalyzer.h LVarContainer.h LVariableItem.h $(INCLUDES)
	$(GPP) $(MODULE_OBJ_FLAGS) -c $(CFLAGS) LSMIncorrectCalculation.cpp	

#include 가 되어 있어도 명시적으로 .h파일을 적어주는 것이 좋다.

PStringToken.o : PStringToken.cpp PStringToken.h $(INCLUDES)
	$(GPP) $(MODULE_OBJ_FLAGS) -c $(CFLAGS) PStringToken.cpp

clean : 
	rm -rf *.o *.so
