Makefile 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. -include ../../../../Rules.make
  2. export PATH=/bin:/sbin:/usr/bin:$(SDK_PATH_TARGET)/usr/bin:$PATH
  3. ModularizationPath = ../../../Modularization
  4. RootPath = ../Images/root
  5. OutputPath = ../output
  6. DEFINE = -D $(Project)
  7. CFLAGS = -O0 -g3 -Wall -fmessage-length=0
  8. TFLAGS = -lrt -lm -lpthread
  9. TOP = .
  10. INC_FLAGS += -I $(TOP)/Define
  11. INC_FLAGS += -I $(TOP)/Log
  12. INC_FLAGS += -I $(TOP)/ShareMemory
  13. INC_FLAGS += -I $(TOP)/CSU
  14. INC_FLAGS += -I $(TOP)/DataBase
  15. INC_FLAGS += -I $(TOP)/ModuleInternalComm
  16. INC_FLAGS += -I $(TOP)/ModuleEvComm
  17. INC_FLAGS += -I $(TOP)/ModuleUpdateFW
  18. INC_FLAGS += -I $(TOP)/ModuleChkSysTask
  19. INC_FLAGS += -I $(TOP)/ModulePrimary
  20. INC_FLAGS += -I $(TOP)/ModuleLcmCtrl
  21. INC_FLAGS += -I $(TOP)/ModuleDoComm
  22. INC_FLAGS += -I $(TOP)/ModuleEventLog
  23. INC_FLAGS += -I $(TOP)/Module_LcmControl_Wistron
  24. INC_FLAGS += -I ../../../Modularization/ocppfiles
  25. INC_FLAGS += -I ../../../GPL/mosquitto-2.0.13/release/usr/local/include
  26. DefineLib = $(TOP)/Define
  27. LogLib = $(TOP)/Log
  28. ShmMemLib = $(TOP)/ShareMemory
  29. CSULib = $(TOP)/CSU
  30. DataBaseLib = $(TOP)/DataBase
  31. InternalCommLib = $(TOP)/ModuleInternalComm
  32. EvCommLib = $(TOP)/ModuleEvComm
  33. UpdateFWLib = $(TOP)/ModuleUpdateFW
  34. ChkSysTaskLib = $(TOP)/ModuleChkSysTask
  35. PrimaryLib = $(TOP)/ModulePrimary
  36. LcmLib = $(TOP)/ModuleLcmCtrl
  37. DoCommLib = $(TOP)/ModuleDoComm
  38. EventLogLib = $(TOP)/ModuleEventLog
  39. SelectGunLib = $(TOP)/SelectGun
  40. ScriptLib = $(TOP)/Script
  41. LcmWistronLib = $(TOP)/Module_LcmControl_Wistron
  42. Lib_MOSQUITTO = "-L../../../GPL/mosquitto-2.0.13/release/usr/local/lib" -lmosquitto
  43. Lib_JSONC = "-L../../../GPL/json-c-json-c-0.13.1-20180305/release/lib" -ljson-c
  44. #define library variable
  45. Internal485ProtocolLib = -L $(ModularizationPath)/Internal485Protocol -lInternal485Protocol
  46. #PsuCommProtocolLib = -L $(ModularizationPath)/PsuCommProtocol -lPsuCommProtocol
  47. #define library variable
  48. Lib_Module_RFID = "-L$(ModularizationPath)" -lModule_RFID
  49. RFID_H = -include$(ModularizationPath)/Module_RFID.h
  50. Lib_Module_Upgrade = "-L$(ModularizationPath)" -lModule_Upgrade
  51. ModuleUpgrade_H = -include$(ModularizationPath)/Module_Upgrade.h
  52. Lib_SQLite3 = "-L$(ModularizationPath)/ocppfiles" -lsqlite3
  53. SQLite3_H = -include$(ModularizationPath)/ocppfiles/sqlite3.h
  54. Lib_Module_RatedCurrent = "-L$(ModularizationPath)" -lModule_RatedCurrent
  55. RatedCurrent_H = -include$(ModularizationPath)/Module_RatedCurrent.h
  56. InfypwrPsuComm_H = -include$(ModularizationPath)/Infypwr_PsuCommObj.h
  57. InfypwrPsuComm_A = $(ModularizationPath)/libInfypwr_PsuCommObj.a
  58. JSON_H = -include../../../GPL/json-c-json-c-0.13.1-20180305/release/include/json-c/json.h
  59. #common lib
  60. COMMON_OBJ_FILES = common.o \
  61. $(DefineLib)/define.o \
  62. $(ShmMemLib)/shmMem.o \
  63. $(LogLib)/log.o \
  64. $(SelectGunLib)/SelectGun.o \
  65. MAIN_OBJ_FILES = $(COMMON_OBJ_FILES) $(DataBaseLib)/DataBase.o \
  66. $(CSULib)/main.o $(CSULib)/Primary.o $(CSULib)/WatchDog.o $(CSULib)/ZipFile.o \
  67. $(CSULib)/RFID.o $(CSULib)/SelfTest.o \
  68. $(CSULib)/Ethernet.o
  69. MAIN_SRC_FILES = $(patsubst %.o, %.c, $(MAIN_OBJ_FILES))
  70. %.o: %.c
  71. $(CC) $(CFLAGS) -c $<
  72. #DoComm
  73. DOCOMM_OBJ_FILES = $(COMMON_OBJ_FILES) $(DoCommLib)/DoComm.o $(DataBaseLib)/DataBase.o
  74. DOCOMM_SRC_FILES = $(patsubst %.o, %.c, $(DOCOMM_OBJ_FILES))
  75. #internal comm lib
  76. INTERNALCOMM_OBJ_FILES = $(COMMON_OBJ_FILES) $(InternalCommLib)/internalComm.o \
  77. $(InternalCommLib)/Module_InternalComm.o $(InternalCommLib)/FanBoard.o \
  78. $(InternalCommLib)/LEDlight.o $(InternalCommLib)/RelayBoard.o \
  79. $(InternalCommLib)/AcPlug.o
  80. INTERNALCOMM_SRC_FILES = $(patsubst %.o, %.c, $(INTERNALCOMM_OBJ_FILES))
  81. %.o: %.c
  82. $(CC) $(CFLAGS) -c $<
  83. #EV comm lib
  84. EVCOMM_OBJ_FILES = $(COMMON_OBJ_FILES) $(RatedCurrent_H) $(EvCommLib)/Module_EvTxComm.o \
  85. $(EvCommLib)/Module_EvRxComm.o $(EvCommLib)/Ev_Comm.o $(EvCommLib)/AbnormalCCS.o \
  86. $(EvCommLib)/AbnormalCHA.o $(EvCommLib)/AbnormalGBT.o $(EvCommLib)/AbnormalState.o
  87. EVCOMM_SRC_FILES = $(patsubst %.o, %.c, $(EVCOMM_OBJ_FILES))
  88. %.o: %.c
  89. $(CC) $(CFLAGS) -c $<
  90. #Update FW
  91. UPDATEFW_OBJ_FILES = $(COMMON_OBJ_FILES) $(UpdateFWLib)/Module_UpdateFW.o
  92. UPDATEFW_SRC_FILES = $(patsubst %.o, %.c, $(UPDATEFW_OBJ_FILES))
  93. %.o: %.c
  94. $(CC) $(CFLAGS) -c $<
  95. #Check System Task
  96. CHKSYSTASK_OBJ_FILES = $(COMMON_OBJ_FILES) $(ChkSysTaskLib)/Module_ChkSysTask.o
  97. CHKSYSTASK_SRC_FILES = $(patsubst %.o, %.c, $(CHKSYSTASK_OBJ_FILES))
  98. %.o: %.c
  99. $(CC) $(CFLAGS) -c $<
  100. #Event Log
  101. EVENTLOG_OBJ_FILES = $(COMMON_OBJ_FILES) $(DataBaseLib)/DataBase.o \
  102. $(EventLogLib)/Module_EventLogging.o
  103. EVENTLOG_SRC_FILES = $(patsubst %.o, %.c, $(EVENTLOG_OBJ_FILES))
  104. %.o: %.c
  105. $(CC) $(CFLAGS) -c $<
  106. #LCM Control
  107. LCM_OBJ_FILES = $(COMMON_OBJ_FILES) $(LcmLib)/Module_LcmControl.o
  108. LCM_SRC_FILES = $(patsubst %.o, %.c, $(LCM_OBJ_FILES))
  109. #Wirstron LCM Control
  110. LCMWISTRON_OBJ_FILES = $(COMMON_OBJ_FILES) $(LcmWistronLib)/Module_LcmControl_Wistron.o \
  111. $(LcmWistronLib)/LcmCommandDriver.o $(LcmWistronLib)/Module_LcmItemList.o
  112. LCMWISTRON_SRC_FILES = $(patsubst %.o, %.c, $(LCMWISTRON_OBJ_FILES))
  113. %.o: %.c
  114. $(CC) $(CFLAGS) -c $<
  115. #Primary
  116. PRIMARY_OBJ_FILES = $(COMMON_OBJ_FILES) $(PrimaryLib)/PrimaryComm.o \
  117. $(PrimaryLib)/Module_PrimaryComm.o
  118. PRIMARY_SRC_FILES = $(patsubst %.o, %.c, $(PRIMARY_OBJ_FILES))
  119. %.o: %.c
  120. $(CC) $(CFLAGS) -c $<
  121. #ReadCmdLine
  122. READCMDLINE_OBJ_FILES = $(COMMON_OBJ_FILES) ReadCmdline.o
  123. READCMDLINE_SRC_FILES = $(patsubst %.o, %.c, $(READCMDLINE_OBJ_FILES))
  124. %.o: %.c
  125. $(CC) $(CFLAGS) -c $<
  126. all: CopyFile apps
  127. apps: MainTask DoCommTask EvCommTask UpdateFWTask ChkSysTask \
  128. EventLoggingTask InternalCommTask LcmControlTask \
  129. PrimaryCommTask ReadCmdlineTask UnsafetyOutputTool \
  130. LcmWistronTask FactoryConfigApp OtherTools CleanExec
  131. MainTask:
  132. $(CC) $(DEFINE) $(MAIN_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) $(SQLite3_H) $(ModuleUpgrade_H) $(RateCurrent_H) \
  133. $(RFID_H) $(Lib_Module_RFID) $(Lib_Module_Upgrade) $(Lib_SQLite3) $(Lib_Module_RateCurrent) \
  134. $(CheckSystemTask_H) -o main
  135. #$(CC) $(DEFINE) $(SQLite3_H) $(ModuleUpgrade_H) $(RFID_H) $(RatedCurrent_H) $(CFLAGS) -c -o main.o main.c
  136. #$(CC) $(DEFINE) $(SQLite3_H) $(ModuleUpgrade_H) $(RFID_H) $(RatedCurrent_H) $(CFLAGS) -c -o timeout.o timeout.c
  137. #$(CC) $(DEFINE) $(CFLAGS) -c -o common.o common.c
  138. #$(CC) $(TFLAGS) -o main main.o timeout.o common.o ${Lib_Module_RFID} ${Lib_Module_Upgrade} ${Lib_SQLite3} $(Lib_Module_RatedCurrent)
  139. DoCommTask:
  140. $(CC) $(DEFINE) $(DOCOMM_SRC_FILES) $(CFLAGS) $(TFLAGS) $(SQLite3_H) $(Lib_SQLite3) $(INC_FLAGS) -o Module_DoComm
  141. #$(CC) $(DEFINE) $(CFLAGS) -c -o define.o $(DefineLib)/define.c
  142. #$(CC) $(DEFINE) $(CFLAGS) -c -o DoComm.o $(DoCommLib)/DoComm.c
  143. #$(CC) -o Module_DoComm DoComm.o define.o
  144. EvCommTask:
  145. $(CC) $(DEFINE) $(EVCOMM_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) $(Lib_Module_RatedCurrent) -o Module_EvComm
  146. #$(CC) $(DEFINE) $(CFLAGS) $(RatedCurrent_H) -c -o Ev_Comm.o $(EvCommLib)/Ev_Comm.c
  147. #$(CC) $(DEFINE) $(CFLAGS) $(RatedCurrent_H) -c -o Module_EvComm.o $(EvCommLib)/Module_EvComm.c
  148. #$(CC) -o Module_EvComm Ev_Comm.o Module_EvComm.o $(Lib_Module_RatedCurrent)
  149. UpdateFWTask:
  150. $(CC) $(DEFINE) $(UPDATEFW_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) $(Lib_Module_Upgrade) $(ModuleUpgrade_H) -o Module_UpdateFW
  151. #$(CC) $(DEFINE) $(CFLAGS) -c -o Module_UpdateFW.o $(UpdateFWLib)/Module_UpdateFW.c
  152. #$(CC) -o Module_UpdateFW Module_UpdateFW.o
  153. ChkSysTask:
  154. $(CC) $(DEFINE) $(CHKSYSTASK_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) -o Module_ChkSysTask
  155. #$(CC) $(DEFINE) $(CFLAGS) -c -o Module_ChkSysTask.o $(ChkSysTaskLib)/Module_ChkSysTask.c
  156. #$(CC) -o Module_ChkSysTask Module_ChkSysTask.o
  157. EventLoggingTask:
  158. $(CC) $(DEFINE) $(EVENTLOG_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) $(SQLite3_H) $(Lib_SQLite3) -o Module_EventLogging
  159. #$(CC) $(DEFINE) $(CFLAGS) -c -o define.o $(DefineLib)/define.c
  160. #$(CC) $(DEFINE) $(SQLite3_H) $(CFLAGS) -c -o Module_EventLogging.o $(EventLogLib)/Module_EventLogging.c
  161. #$(CC) -o Module_EventLogging Module_EventLogging.o ${Lib_SQLite3} define.o
  162. InternalCommTask:
  163. $(CC) $(DEFINE) $(INTERNALCOMM_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) -o Module_InternalComm
  164. #$(CC) $(DEFINE) $(CFLAGS) $(ModuleRelay_H) -c -o internalComm.o $(InternalCommLib)/internalComm.c
  165. #$(CC) $(DEFINE) $(CFLAGS) $(ModuleRelay_H) -c -o Module_InternalComm.o $(InternalCommLib)/Module_InternalComm.c
  166. #$(CC) $(TFLAGS) -o Module_InternalComm Module_InternalComm.o internalComm.o $(Lib_ModuleRelay)
  167. LcmControlTask:
  168. $(CC) $(DEFINE) $(LCM_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) -o Module_LcmControl
  169. #$(CC) $(DEFINE) $(CFLAGS) -c -o define.o $(DefineLib)/define.c
  170. #$(CC) $(DEFINE) $(CFLAGS) -c -o Module_LcmControl.o $(LcmLib)/Module_LcmControl.c
  171. #$(CC) -o Module_LcmControl Module_LcmControl.o define.o
  172. LcmWistronTask:
  173. $(CC) $(DEFINE) $(LCMWISTRON_SRC_FILES) $(CFLAGS) $(TFLAGS) $(JSON_H) $(INC_FLAGS) \
  174. ${Lib_JSONC} ${Lib_MOSQUITTO} $(SQLite3_H) $(Lib_SQLite3) -o Module_LcmWistronControl
  175. PrimaryCommTask:
  176. $(CC) $(DEFINE) $(PRIMARY_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) -o Module_PrimaryComm
  177. #$(CC) $(DEFINE) $(CFLAGS) -c -o PrimaryComm.o $(PrimaryLib)/PrimaryComm.c
  178. #$(CC) $(DEFINE) $(CFLAGS) -c -o Module_PrimaryComm.o $(PrimaryLib)/Module_PrimaryComm.c
  179. #$(CC) -o Module_PrimaryComm Module_PrimaryComm.o PrimaryComm.o
  180. PsuCommTask:
  181. $(CC) $(DEFINE) $(InfypwrPsuComm_H) $(CFLAGS) -c -o Module_PsuComm.o Module_PsuComm.c
  182. $(CC) -o Module_PsuComm Module_PsuComm.o $(InfypwrPsuComm_A)
  183. ReadCmdlineTask:
  184. $(CC) $(DEFINE) $(READCMDLINE_SRC_FILES) $(CFLAGS) $(TFLAGS) $(INC_FLAGS) -o ReadCmdline
  185. #$(CC) $(DEFINE) $(CFLAGS) -c -o ReadCmdline.o ReadCmdline.c
  186. #$(CC) -o ReadCmdline ReadCmdline.o
  187. UnsafetyOutputTool:
  188. $(CC) $(DEFINE) $(InfypwrPsuComm_H) $(CFLAGS) -c -o OutputTask.o OutputTask.c
  189. $(CC) -o UnsafetyOutputTask OutputTask.o $(InfypwrPsuComm_A)
  190. FactoryConfigApp:
  191. @echo "===== Module_FactoryConfig_Task =================================="
  192. rm -f FactoryConfig
  193. gcc $(DEFINE) -o FactoryConfig FactoryConfig.c
  194. mkdir -p /Storage/SystemLog
  195. ./FactoryConfig -f;true
  196. cp /mnt/FactoryDefaultConfig.bin ../Images
  197. rm -f FactoryConfig;
  198. $(CC) $(DEFINE) $(CFLAGS) -c -o FactoryConfig.o FactoryConfig.c
  199. $(CC) -o FactoryConfig FactoryConfig.o
  200. OtherTools:
  201. cp -f $(ScriptLib)/init.sh $(RootPath)
  202. cp -f $(ScriptLib)/kill.sh $(RootPath)
  203. cp -f $(ScriptLib)/web.sh $(RootPath)
  204. cp -f $(ScriptLib)/LcmSet.db $(RootPath)
  205. cp -f main $(RootPath)
  206. cp -f Module_DoComm $(RootPath)
  207. cp -f Module_EvComm $(RootPath)
  208. cp -f Module_UpdateFW $(RootPath)
  209. cp -f Module_ChkSysTask $(RootPath)
  210. cp -f Module_EventLogging $(RootPath)
  211. cp -f Module_InternalComm $(RootPath)
  212. cp -f Module_LcmControl $(RootPath)
  213. cp -f Module_LcmWistronControl $(RootPath)
  214. cp -f Module_PrimaryComm $(RootPath)
  215. #cp -f Module_PsuComm $(RootPath)
  216. cp -f ReadCmdline $(RootPath)
  217. cp -f UnsafetyOutputTask $(RootPath)
  218. cp -f FactoryConfig $(RootPath)
  219. if [ ! -d $(OutputPath) ]; then mkdir -p $(OutputPath); fi
  220. cp -f $(ScriptLib)/init.sh $(OutputPath)
  221. cp -f $(ScriptLib)/kill.sh $(OutputPath)
  222. cp -f $(ScriptLib)/web.sh $(OutputPath)
  223. cp -f $(ScriptLib)/LcmSet.db $(OutputPath)
  224. cp -f $(ScriptLib)/SearchIP.sh $(OutputPath)
  225. cp -f main $(OutputPath)
  226. cp -f Module_DoComm $(OutputPath)
  227. cp -f Module_EvComm $(OutputPath)
  228. cp -f Module_UpdateFW $(OutputPath)
  229. cp -f Module_ChkSysTask $(OutputPath)
  230. cp -f Module_EventLogging $(OutputPath)
  231. cp -f Module_InternalComm $(OutputPath)
  232. cp -f Module_LcmControl $(OutputPath)
  233. cp -f Module_LcmWistronControl $(OutputPath)
  234. cp -f Module_PrimaryComm $(OutputPath)
  235. #cp -f Module_PsuComm $(OutputPath)
  236. cp -f ReadCmdline $(OutputPath)
  237. cp -f UnsafetyOutputTask $(OutputPath)
  238. cp -f FactoryConfig $(OutputPath)
  239. CopyFile:
  240. rm -rfv ../Images/root
  241. mkdir -p ../Images/root
  242. CleanExec:
  243. rm -f *.o
  244. rm main
  245. rm Module_EvComm
  246. rm Module_UpdateFW
  247. rm Module_ChkSysTask
  248. rm Module_EventLogging
  249. rm Module_InternalComm
  250. rm Module_LcmControl
  251. rm Module_LcmWistronControl
  252. rm Module_PrimaryComm
  253. #rm Module_PsuComm
  254. rm ReadCmdline
  255. rm FactoryConfig
  256. rm Module_DoComm