goahead-linux-default.mk 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. #
  2. # goahead-linux-default.mk -- Makefile to build Embedthis GoAhead for linux
  3. #
  4. NAME := goahead
  5. VERSION := 3.6.5
  6. PROFILE ?= default
  7. ARCH ?= $(shell uname -m | sed 's/i.86/x86/;s/x86_64/x64/;s/arm.*/arm/;s/mips.*/mips/')
  8. CC_ARCH ?= $(shell echo $(ARCH) | sed 's/x86/i686/;s/x64/x86_64/')
  9. OS ?= linux
  10. CC ?= gcc
  11. CONFIG ?= $(OS)-$(ARCH)-$(PROFILE)
  12. BUILD ?= build/$(CONFIG)
  13. LBIN ?= $(BUILD)/bin
  14. PATH := $(LBIN):$(PATH)
  15. ME_COM_COMPILER ?= 1
  16. ME_COM_LIB ?= 1
  17. ME_COM_MATRIXSSL ?= 0
  18. ME_COM_MBEDTLS ?= 1
  19. ME_COM_NANOSSL ?= 0
  20. ME_COM_OPENSSL ?= 0
  21. ME_COM_OSDEP ?= 1
  22. ME_COM_SSL ?= 1
  23. ME_COM_VXWORKS ?= 0
  24. ME_COM_OPENSSL_PATH ?= "/usr/lib"
  25. ifeq ($(ME_COM_LIB),1)
  26. ME_COM_COMPILER := 1
  27. endif
  28. ifeq ($(ME_COM_MBEDTLS),1)
  29. ME_COM_SSL := 1
  30. endif
  31. ifeq ($(ME_COM_OPENSSL),1)
  32. ME_COM_SSL := 1
  33. endif
  34. #CFLAGS += --param=ssp-buffer-size=4
  35. #CFLAGS += -fPIC -fstack-protector -Wformat -Wformat-security -Wl,-z,relro,-z,now -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,noexecstatck -Wl,-z,noexecheap -w
  36. DFLAGS += -DME_DEBUG=1 -D_REENTRANT -DPIC $(patsubst %,-D%,$(filter ME_%,$(MAKEFLAGS))) -DME_COM_COMPILER=$(ME_COM_COMPILER) -DME_COM_LIB=$(ME_COM_LIB) -DME_COM_MATRIXSSL=$(ME_COM_MATRIXSSL) -DME_COM_MBEDTLS=$(ME_COM_MBEDTLS) -DME_COM_NANOSSL=$(ME_COM_NANOSSL) -DME_COM_OPENSSL=$(ME_COM_OPENSSL) -DME_COM_OSDEP=$(ME_COM_OSDEP) -DME_COM_SSL=$(ME_COM_SSL) -DME_COM_VXWORKS=$(ME_COM_VXWORKS)
  37. IFLAGS += "-I$(BUILD)/inc"
  38. #LDFLAGS += '-Wl,--enable-new-dtags' '-Wl,-rpath,$$ORIGIN/' #'-rdynamic'
  39. LIBPATHS += -L$(BUILD)/bin
  40. LIBS += -lrt -lpthread -lm -lc #-ldl
  41. DEBUG ?= debug
  42. CFLAGS-debug ?= -g
  43. DFLAGS-debug ?= -DME_DEBUG
  44. LDFLAGS-debug ?= -g
  45. DFLAGS-release ?=
  46. CFLAGS-release ?= -O2
  47. LDFLAGS-release ?=
  48. CFLAGS += $(CFLAGS-$(DEBUG))
  49. DFLAGS += $(DFLAGS-$(DEBUG))
  50. LDFLAGS += $(LDFLAGS-$(DEBUG))
  51. ME_ROOT_PREFIX ?=
  52. ME_BASE_PREFIX ?= $(ME_ROOT_PREFIX)/usr/local
  53. ME_DATA_PREFIX ?= $(ME_ROOT_PREFIX)/
  54. ME_STATE_PREFIX ?= $(ME_ROOT_PREFIX)/var
  55. ME_APP_PREFIX ?= $(ME_BASE_PREFIX)/lib/$(NAME)
  56. ME_VAPP_PREFIX ?= $(ME_APP_PREFIX)/$(VERSION)
  57. ME_BIN_PREFIX ?= $(ME_ROOT_PREFIX)/usr/local/bin
  58. ME_INC_PREFIX ?= $(ME_ROOT_PREFIX)/usr/local/include
  59. ME_LIB_PREFIX ?= $(ME_ROOT_PREFIX)/usr/local/lib
  60. ME_MAN_PREFIX ?= $(ME_ROOT_PREFIX)/usr/local/share/man
  61. ME_SBIN_PREFIX ?= $(ME_ROOT_PREFIX)/usr/local/sbin
  62. ME_ETC_PREFIX ?= $(ME_ROOT_PREFIX)/etc/$(NAME)
  63. ME_WEB_PREFIX ?= $(ME_ROOT_PREFIX)/var/www/$(NAME)
  64. ME_LOG_PREFIX ?= $(ME_ROOT_PREFIX)/var/log/$(NAME)
  65. ME_SPOOL_PREFIX ?= $(ME_ROOT_PREFIX)/var/spool/$(NAME)
  66. ME_CACHE_PREFIX ?= $(ME_ROOT_PREFIX)/var/spool/$(NAME)/cache
  67. ME_SRC_PREFIX ?= $(ME_ROOT_PREFIX)$(NAME)-$(VERSION)
  68. TARGETS += $(BUILD)/bin/goahead
  69. TARGETS += $(BUILD)/bin/goahead-test
  70. TARGETS += $(BUILD)/bin/gopass
  71. unexport CDPATH
  72. ifndef SHOW
  73. .SILENT:
  74. endif
  75. all build compile: prep $(TARGETS)
  76. .PHONY: prep
  77. prep:
  78. @echo " [Info] Use "make SHOW=1" to trace executed commands."
  79. @if [ "$(CONFIG)" = "" ] ; then echo WARNING: CONFIG not set ; exit 255 ; fi
  80. @if [ "$(ME_APP_PREFIX)" = "" ] ; then echo WARNING: ME_APP_PREFIX not set ; exit 255 ; fi
  81. @[ ! -x $(BUILD)/bin ] && mkdir -p $(BUILD)/bin; true
  82. @[ ! -x $(BUILD)/inc ] && mkdir -p $(BUILD)/inc; true
  83. @[ ! -x $(BUILD)/obj ] && mkdir -p $(BUILD)/obj; true
  84. @[ ! -f $(BUILD)/inc/me.h ] && cp projects/goahead-linux-default-me.h $(BUILD)/inc/me.h ; true
  85. @if ! diff $(BUILD)/inc/me.h projects/goahead-linux-default-me.h >/dev/null ; then\
  86. cp projects/goahead-linux-default-me.h $(BUILD)/inc/me.h ; \
  87. fi; true
  88. @if [ -f "$(BUILD)/.makeflags" ] ; then \
  89. if [ "$(MAKEFLAGS)" != "`cat $(BUILD)/.makeflags`" ] ; then \
  90. echo " [Warning] Make flags have changed since the last build" ; \
  91. echo " [Warning] Previous build command: "`cat $(BUILD)/.makeflags`"" ; \
  92. fi ; \
  93. fi
  94. @echo "$(MAKEFLAGS)" >$(BUILD)/.makeflags
  95. clean:
  96. rm -f $(BUILD)/obj/*.o
  97. rm -f "$(BUILD)/bin/goahead"
  98. rm -f "$(BUILD)/bin/goahead-test"
  99. rm -f "$(BUILD)/bin/gopass"
  100. rm -f "$(BUILD)/.install-certs-modified"
  101. rm -f "$(BUILD)/bin/libgo.so"
  102. rm -f "$(BUILD)/bin/libgoahead-mbedtls.a"
  103. rm -f "$(BUILD)/bin/libmbedtls.a"
  104. clobber: clean
  105. rm -fr ./$(BUILD)
  106. #
  107. # embedtls.h
  108. #
  109. DEPS_1 += src/mbedtls/embedtls.h
  110. $(BUILD)/inc/embedtls.h: $(DEPS_1)
  111. @echo ' [Copy] $(BUILD)/inc/embedtls.h'
  112. mkdir -p "$(BUILD)/inc"
  113. cp src/mbedtls/embedtls.h $(BUILD)/inc/embedtls.h
  114. #
  115. # me.h
  116. #
  117. $(BUILD)/inc/me.h: $(DEPS_2)
  118. #
  119. # osdep.h
  120. #
  121. DEPS_3 += src/osdep/osdep.h
  122. DEPS_3 += $(BUILD)/inc/me.h
  123. $(BUILD)/inc/osdep.h: $(DEPS_3)
  124. @echo ' [Copy] $(BUILD)/inc/osdep.h'
  125. mkdir -p "$(BUILD)/inc"
  126. cp src/osdep/osdep.h $(BUILD)/inc/osdep.h
  127. #
  128. # goahead.h
  129. #
  130. DEPS_4 += src/goahead.h
  131. DEPS_4 += $(BUILD)/inc/me.h
  132. DEPS_4 += $(BUILD)/inc/osdep.h
  133. $(BUILD)/inc/goahead.h: $(DEPS_4)
  134. @echo ' [Copy] $(BUILD)/inc/goahead.h'
  135. mkdir -p "$(BUILD)/inc"
  136. cp src/goahead.h $(BUILD)/inc/goahead.h
  137. #
  138. # js.h
  139. #
  140. DEPS_5 += src/js.h
  141. DEPS_5 += $(BUILD)/inc/goahead.h
  142. $(BUILD)/inc/js.h: $(DEPS_5)
  143. @echo ' [Copy] $(BUILD)/inc/js.h'
  144. mkdir -p "$(BUILD)/inc"
  145. cp src/js.h $(BUILD)/inc/js.h
  146. #
  147. # mbedtls.h
  148. #
  149. DEPS_6 += src/mbedtls/mbedtls.h
  150. $(BUILD)/inc/mbedtls.h: $(DEPS_6)
  151. @echo ' [Copy] $(BUILD)/inc/mbedtls.h'
  152. mkdir -p "$(BUILD)/inc"
  153. cp src/mbedtls/mbedtls.h $(BUILD)/inc/mbedtls.h
  154. #
  155. # action.o
  156. #
  157. DEPS_7 += $(BUILD)/inc/goahead.h
  158. $(BUILD)/obj/action.o: \
  159. src/action.c $(DEPS_7)
  160. @echo ' [Compile] $(BUILD)/obj/action.o'
  161. $(CC) -c -o $(BUILD)/obj/action.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/action.c
  162. #
  163. # alloc.o
  164. #
  165. DEPS_8 += $(BUILD)/inc/goahead.h
  166. $(BUILD)/obj/alloc.o: \
  167. src/alloc.c $(DEPS_8)
  168. @echo ' [Compile] $(BUILD)/obj/alloc.o'
  169. $(CC) -c -o $(BUILD)/obj/alloc.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/alloc.c
  170. #
  171. # auth.o
  172. #
  173. DEPS_9 += $(BUILD)/inc/goahead.h
  174. $(BUILD)/obj/auth.o: \
  175. src/auth.c $(DEPS_9)
  176. @echo ' [Compile] $(BUILD)/obj/auth.o'
  177. $(CC) -c -o $(BUILD)/obj/auth.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/auth.c
  178. #
  179. # cgi.o
  180. #
  181. DEPS_10 += $(BUILD)/inc/goahead.h
  182. $(BUILD)/obj/cgi.o: \
  183. src/cgi.c $(DEPS_10)
  184. @echo ' [Compile] $(BUILD)/obj/cgi.o'
  185. $(CC) -c -o $(BUILD)/obj/cgi.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/cgi.c
  186. #
  187. # cgitest.o
  188. #
  189. $(BUILD)/obj/cgitest.o: \
  190. test/cgitest.c $(DEPS_11)
  191. @echo ' [Compile] $(BUILD)/obj/cgitest.o'
  192. $(CC) -c -o $(BUILD)/obj/cgitest.o $(CFLAGS) $(DFLAGS) $(IFLAGS) test/cgitest.c
  193. #
  194. # crypt.o
  195. #
  196. DEPS_12 += $(BUILD)/inc/goahead.h
  197. $(BUILD)/obj/crypt.o: \
  198. src/crypt.c $(DEPS_12)
  199. @echo ' [Compile] $(BUILD)/obj/crypt.o'
  200. $(CC) -c -o $(BUILD)/obj/crypt.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/crypt.c
  201. #
  202. # file.o
  203. #
  204. DEPS_13 += $(BUILD)/inc/goahead.h
  205. $(BUILD)/obj/file.o: \
  206. src/file.c $(DEPS_13)
  207. @echo ' [Compile] $(BUILD)/obj/file.o'
  208. $(CC) -c -o $(BUILD)/obj/file.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/file.c
  209. #
  210. # fs.o
  211. #
  212. DEPS_14 += $(BUILD)/inc/goahead.h
  213. $(BUILD)/obj/fs.o: \
  214. src/fs.c $(DEPS_14)
  215. @echo ' [Compile] $(BUILD)/obj/fs.o'
  216. $(CC) -c -o $(BUILD)/obj/fs.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/fs.c
  217. #
  218. # goahead-mbedtls.o
  219. #
  220. DEPS_15 += $(BUILD)/inc/goahead.h
  221. $(BUILD)/obj/goahead-mbedtls.o: \
  222. src/goahead-mbedtls/goahead-mbedtls.c $(DEPS_15)
  223. @echo ' [Compile] $(BUILD)/obj/goahead-mbedtls.o'
  224. $(CC) -c -o $(BUILD)/obj/goahead-mbedtls.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/goahead-mbedtls/goahead-mbedtls.c
  225. #
  226. # goahead-openssl.o
  227. #
  228. DEPS_16 += $(BUILD)/inc/goahead.h
  229. $(BUILD)/obj/goahead-openssl.o: \
  230. src/goahead-openssl/goahead-openssl.c $(DEPS_16)
  231. @echo ' [Compile] $(BUILD)/obj/goahead-openssl.o'
  232. $(CC) -c -o $(BUILD)/obj/goahead-openssl.o $(CFLAGS) $(DFLAGS) $(IFLAGS) src/goahead-openssl/goahead-openssl.c
  233. #
  234. # goahead.o
  235. #
  236. DEPS_17 += $(BUILD)/inc/goahead.h
  237. $(BUILD)/obj/goahead.o: \
  238. src/goahead.c $(DEPS_17)
  239. @echo ' [Compile] $(BUILD)/obj/goahead.o'
  240. $(CC) -c -o $(BUILD)/obj/goahead.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/goahead.c
  241. #
  242. # gopass.o
  243. #
  244. DEPS_18 += $(BUILD)/inc/goahead.h
  245. $(BUILD)/obj/gopass.o: \
  246. src/utils/gopass.c $(DEPS_18)
  247. @echo ' [Compile] $(BUILD)/obj/gopass.o'
  248. $(CC) -c -o $(BUILD)/obj/gopass.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/utils/gopass.c
  249. #
  250. # http.o
  251. #
  252. DEPS_19 += $(BUILD)/inc/goahead.h
  253. $(BUILD)/obj/http.o: \
  254. src/http.c $(DEPS_19)
  255. @echo ' [Compile] $(BUILD)/obj/http.o'
  256. $(CC) -c -o $(BUILD)/obj/http.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/http.c
  257. #
  258. # js.o
  259. #
  260. DEPS_20 += $(BUILD)/inc/js.h
  261. $(BUILD)/obj/js.o: \
  262. src/js.c $(DEPS_20)
  263. @echo ' [Compile] $(BUILD)/obj/js.o'
  264. $(CC) -c -o $(BUILD)/obj/js.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/js.c
  265. #
  266. # jst.o
  267. #
  268. DEPS_21 += $(BUILD)/inc/goahead.h
  269. DEPS_21 += $(BUILD)/inc/js.h
  270. $(BUILD)/obj/jst.o: \
  271. src/jst.c $(DEPS_21)
  272. @echo ' [Compile] $(BUILD)/obj/jst.o'
  273. $(CC) -c -o $(BUILD)/obj/jst.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/jst.c
  274. #
  275. # mbedtls.h
  276. #
  277. src/mbedtls/mbedtls.h: $(DEPS_22)
  278. #
  279. # mbedtls.o
  280. #
  281. DEPS_23 += src/mbedtls/mbedtls.h
  282. $(BUILD)/obj/mbedtls.o: \
  283. src/mbedtls/mbedtls.c $(DEPS_23)
  284. @echo ' [Compile] $(BUILD)/obj/mbedtls.o'
  285. $(CC) -c -o $(BUILD)/obj/mbedtls.o $(CFLAGS) -Wno-format-zero-length $(DFLAGS) -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/mbedtls/mbedtls.c
  286. #
  287. # options.o
  288. #
  289. DEPS_24 += $(BUILD)/inc/goahead.h
  290. $(BUILD)/obj/options.o: \
  291. src/options.c $(DEPS_24)
  292. @echo ' [Compile] $(BUILD)/obj/options.o'
  293. $(CC) -c -o $(BUILD)/obj/options.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/options.c
  294. #
  295. # osdep.o
  296. #
  297. DEPS_25 += $(BUILD)/inc/goahead.h
  298. $(BUILD)/obj/osdep.o: \
  299. src/osdep.c $(DEPS_25)
  300. @echo ' [Compile] $(BUILD)/obj/osdep.o'
  301. $(CC) -c -o $(BUILD)/obj/osdep.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/osdep.c
  302. #
  303. # rom.o
  304. #
  305. DEPS_26 += $(BUILD)/inc/goahead.h
  306. $(BUILD)/obj/rom.o: \
  307. src/rom.c $(DEPS_26)
  308. @echo ' [Compile] $(BUILD)/obj/rom.o'
  309. $(CC) -c -o $(BUILD)/obj/rom.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/rom.c
  310. #
  311. # route.o
  312. #
  313. DEPS_27 += $(BUILD)/inc/goahead.h
  314. $(BUILD)/obj/route.o: \
  315. src/route.c $(DEPS_27)
  316. @echo ' [Compile] $(BUILD)/obj/route.o'
  317. $(CC) -c -o $(BUILD)/obj/route.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/route.c
  318. #
  319. # runtime.o
  320. #
  321. DEPS_28 += $(BUILD)/inc/goahead.h
  322. $(BUILD)/obj/runtime.o: \
  323. src/runtime.c $(DEPS_28)
  324. @echo ' [Compile] $(BUILD)/obj/runtime.o'
  325. $(CC) -c -o $(BUILD)/obj/runtime.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/runtime.c
  326. #
  327. # socket.o
  328. #
  329. DEPS_29 += $(BUILD)/inc/goahead.h
  330. $(BUILD)/obj/socket.o: \
  331. src/socket.c $(DEPS_29)
  332. @echo ' [Compile] $(BUILD)/obj/socket.o'
  333. $(CC) -c -o $(BUILD)/obj/socket.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/socket.c
  334. #
  335. # test.o
  336. #
  337. DEPS_30 += $(BUILD)/inc/goahead.h
  338. DEPS_30 += $(BUILD)/inc/js.h
  339. $(BUILD)/obj/test.o: \
  340. test/test.c $(DEPS_30)
  341. @echo ' [Compile] $(BUILD)/obj/test.o'
  342. $(CC) -c -o $(BUILD)/obj/test.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) test/test.c
  343. #
  344. # time.o
  345. #
  346. DEPS_31 += $(BUILD)/inc/goahead.h
  347. $(BUILD)/obj/time.o: \
  348. src/time.c $(DEPS_31)
  349. @echo ' [Compile] $(BUILD)/obj/time.o'
  350. $(CC) -c -o $(BUILD)/obj/time.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/time.c
  351. #
  352. # upload.o
  353. #
  354. DEPS_32 += $(BUILD)/inc/goahead.h
  355. $(BUILD)/obj/upload.o: \
  356. src/upload.c $(DEPS_32)
  357. @echo ' [Compile] $(BUILD)/obj/upload.o'
  358. $(CC) -c -o $(BUILD)/obj/upload.o $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/upload.c
  359. ifeq ($(ME_COM_MBEDTLS),1)
  360. #
  361. # libmbedtls
  362. #
  363. DEPS_33 += $(BUILD)/inc/osdep.h
  364. DEPS_33 += $(BUILD)/inc/embedtls.h
  365. DEPS_33 += $(BUILD)/inc/mbedtls.h
  366. DEPS_33 += $(BUILD)/obj/mbedtls.o
  367. $(BUILD)/bin/libmbedtls.a: $(DEPS_33)
  368. @echo ' [Link] $(BUILD)/bin/libmbedtls.a'
  369. ar -cr $(BUILD)/bin/libmbedtls.a "$(BUILD)/obj/mbedtls.o"
  370. endif
  371. ifeq ($(ME_COM_MBEDTLS),1)
  372. #
  373. # libgoahead-mbedtls
  374. #
  375. DEPS_34 += $(BUILD)/bin/libmbedtls.a
  376. DEPS_34 += $(BUILD)/obj/goahead-mbedtls.o
  377. $(BUILD)/bin/libgoahead-mbedtls.a: $(DEPS_34)
  378. @echo ' [Link] $(BUILD)/bin/libgoahead-mbedtls.a'
  379. ar -cr $(BUILD)/bin/libgoahead-mbedtls.a "$(BUILD)/obj/goahead-mbedtls.o"
  380. endif
  381. ifeq ($(ME_COM_OPENSSL),1)
  382. #
  383. # libgoahead-openssl
  384. #
  385. DEPS_35 += $(BUILD)/obj/goahead-openssl.o
  386. $(BUILD)/bin/libgoahead-openssl.a: $(DEPS_35)
  387. @echo ' [Link] $(BUILD)/bin/libgoahead-openssl.a'
  388. ar -cr $(BUILD)/bin/libgoahead-openssl.a "$(BUILD)/obj/goahead-openssl.o"
  389. endif
  390. #
  391. # libgo
  392. #
  393. DEPS_36 += $(BUILD)/inc/osdep.h
  394. ifeq ($(ME_COM_MBEDTLS),1)
  395. DEPS_36 += $(BUILD)/bin/libgoahead-mbedtls.a
  396. endif
  397. ifeq ($(ME_COM_OPENSSL),1)
  398. DEPS_36 += $(BUILD)/bin/libgoahead-openssl.a
  399. endif
  400. DEPS_36 += $(BUILD)/inc/goahead.h
  401. DEPS_36 += $(BUILD)/inc/js.h
  402. DEPS_36 += $(BUILD)/obj/action.o
  403. DEPS_36 += $(BUILD)/obj/alloc.o
  404. DEPS_36 += $(BUILD)/obj/auth.o
  405. DEPS_36 += $(BUILD)/obj/cgi.o
  406. DEPS_36 += $(BUILD)/obj/crypt.o
  407. DEPS_36 += $(BUILD)/obj/file.o
  408. DEPS_36 += $(BUILD)/obj/fs.o
  409. DEPS_36 += $(BUILD)/obj/http.o
  410. DEPS_36 += $(BUILD)/obj/js.o
  411. DEPS_36 += $(BUILD)/obj/jst.o
  412. DEPS_36 += $(BUILD)/obj/options.o
  413. DEPS_36 += $(BUILD)/obj/osdep.o
  414. DEPS_36 += $(BUILD)/obj/rom.o
  415. DEPS_36 += $(BUILD)/obj/route.o
  416. DEPS_36 += $(BUILD)/obj/runtime.o
  417. DEPS_36 += $(BUILD)/obj/socket.o
  418. DEPS_36 += $(BUILD)/obj/time.o
  419. DEPS_36 += $(BUILD)/obj/upload.o
  420. ifeq ($(ME_COM_MBEDTLS),1)
  421. LIBS_36 += -lmbedtls
  422. endif
  423. ifeq ($(ME_COM_MBEDTLS),1)
  424. LIBS_36 += -lgoahead-mbedtls
  425. endif
  426. ifeq ($(ME_COM_MBEDTLS),1)
  427. LIBS_36 += -lmbedtls
  428. endif
  429. ifeq ($(ME_COM_OPENSSL),1)
  430. LIBS_36 += -lgoahead-openssl
  431. endif
  432. ifeq ($(ME_COM_MBEDTLS),1)
  433. LIBS_36 += -lgoahead-mbedtls
  434. endif
  435. $(BUILD)/bin/libgo.so: $(DEPS_36)
  436. @echo ' [Link] $(BUILD)/bin/libgo.so'
  437. $(CC) -shared -o $(BUILD)/bin/libgo.so $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/action.o" "$(BUILD)/obj/alloc.o" "$(BUILD)/obj/auth.o" "$(BUILD)/obj/cgi.o" "$(BUILD)/obj/crypt.o" "$(BUILD)/obj/file.o" "$(BUILD)/obj/fs.o" "$(BUILD)/obj/http.o" "$(BUILD)/obj/js.o" "$(BUILD)/obj/jst.o" "$(BUILD)/obj/options.o" "$(BUILD)/obj/osdep.o" "$(BUILD)/obj/rom.o" "$(BUILD)/obj/route.o" "$(BUILD)/obj/runtime.o" "$(BUILD)/obj/socket.o" "$(BUILD)/obj/time.o" "$(BUILD)/obj/upload.o" $(LIBPATHS_36) $(LIBS_36) $(LIBS_36) $(LIBS)
  438. #
  439. # install-certs
  440. #
  441. DEPS_37 += src/certs/samples/ca.crt
  442. DEPS_37 += src/certs/samples/ca.key
  443. DEPS_37 += src/certs/samples/ec.crt
  444. DEPS_37 += src/certs/samples/ec.key
  445. DEPS_37 += src/certs/samples/roots.crt
  446. DEPS_37 += src/certs/samples/self.crt
  447. DEPS_37 += src/certs/samples/self.key
  448. DEPS_37 += src/certs/samples/test.crt
  449. DEPS_37 += src/certs/samples/test.key
  450. $(BUILD)/.install-certs-modified: $(DEPS_37)
  451. @echo ' [Copy] $(BUILD)/bin'
  452. mkdir -p "$(BUILD)/bin"
  453. cp src/certs/samples/ca.crt $(BUILD)/bin/ca.crt
  454. cp src/certs/samples/ca.key $(BUILD)/bin/ca.key
  455. cp src/certs/samples/ec.crt $(BUILD)/bin/ec.crt
  456. cp src/certs/samples/ec.key $(BUILD)/bin/ec.key
  457. cp src/certs/samples/roots.crt $(BUILD)/bin/roots.crt
  458. cp src/certs/samples/self.crt $(BUILD)/bin/self.crt
  459. cp src/certs/samples/self.key $(BUILD)/bin/self.key
  460. cp src/certs/samples/test.crt $(BUILD)/bin/test.crt
  461. cp src/certs/samples/test.key $(BUILD)/bin/test.key
  462. touch "$(BUILD)/.install-certs-modified"
  463. #
  464. # goahead
  465. #
  466. DEPS_38 += $(BUILD)/bin/libgo.so
  467. DEPS_38 += $(BUILD)/.install-certs-modified
  468. DEPS_38 += $(BUILD)/inc/goahead.h
  469. DEPS_38 += $(BUILD)/inc/js.h
  470. DEPS_38 += $(BUILD)/obj/goahead.o
  471. ifeq ($(ME_COM_MBEDTLS),1)
  472. LIBS_38 += -lmbedtls
  473. endif
  474. ifeq ($(ME_COM_MBEDTLS),1)
  475. LIBS_38 += -lgoahead-mbedtls
  476. endif
  477. ifeq ($(ME_COM_MBEDTLS),1)
  478. LIBS_38 += -lmbedtls
  479. endif
  480. ifeq ($(ME_COM_OPENSSL),1)
  481. LIBS_38 += -lgoahead-openssl
  482. endif
  483. LIBS_38 += -lgo
  484. ifeq ($(ME_COM_MBEDTLS),1)
  485. LIBS_38 += -lgoahead-mbedtls
  486. endif
  487. $(BUILD)/bin/goahead: $(DEPS_38)
  488. @echo ' [Link] $(BUILD)/bin/goahead'
  489. $(CC) -o $(BUILD)/bin/goahead $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/goahead.o" $(LIBPATHS_38) $(LIBS_38) $(LIBS_38) $(LIBS) $(LIBS)
  490. #
  491. # goahead-test
  492. #
  493. DEPS_39 += $(BUILD)/bin/libgo.so
  494. DEPS_39 += $(BUILD)/.install-certs-modified
  495. DEPS_39 += $(BUILD)/obj/test.o
  496. ifeq ($(ME_COM_MBEDTLS),1)
  497. LIBS_39 += -lmbedtls
  498. endif
  499. ifeq ($(ME_COM_MBEDTLS),1)
  500. LIBS_39 += -lgoahead-mbedtls
  501. endif
  502. ifeq ($(ME_COM_MBEDTLS),1)
  503. LIBS_39 += -lmbedtls
  504. endif
  505. ifeq ($(ME_COM_OPENSSL),1)
  506. LIBS_39 += -lgoahead-openssl
  507. endif
  508. LIBS_39 += -lgo
  509. ifeq ($(ME_COM_MBEDTLS),1)
  510. LIBS_39 += -lgoahead-mbedtls
  511. endif
  512. $(BUILD)/bin/goahead-test: $(DEPS_39)
  513. @echo ' [Link] $(BUILD)/bin/goahead-test'
  514. $(CC) -o $(BUILD)/bin/goahead-test $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/test.o" $(LIBPATHS_39) $(LIBS_39) $(LIBS_39) $(LIBS) $(LIBS)
  515. #
  516. # gopass
  517. #
  518. DEPS_40 += $(BUILD)/bin/libgo.so
  519. DEPS_40 += $(BUILD)/inc/goahead.h
  520. DEPS_40 += $(BUILD)/inc/js.h
  521. DEPS_40 += $(BUILD)/obj/gopass.o
  522. ifeq ($(ME_COM_MBEDTLS),1)
  523. LIBS_40 += -lmbedtls
  524. endif
  525. ifeq ($(ME_COM_MBEDTLS),1)
  526. LIBS_40 += -lgoahead-mbedtls
  527. endif
  528. ifeq ($(ME_COM_MBEDTLS),1)
  529. LIBS_40 += -lmbedtls
  530. endif
  531. ifeq ($(ME_COM_OPENSSL),1)
  532. LIBS_40 += -lgoahead-openssl
  533. endif
  534. LIBS_40 += -lgo
  535. ifeq ($(ME_COM_MBEDTLS),1)
  536. LIBS_40 += -lgoahead-mbedtls
  537. endif
  538. $(BUILD)/bin/gopass: $(DEPS_40)
  539. @echo ' [Link] $(BUILD)/bin/gopass'
  540. $(CC) -o $(BUILD)/bin/gopass $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/gopass.o" $(LIBPATHS_40) $(LIBS_40) $(LIBS_40) $(LIBS) $(LIBS)
  541. #
  542. # stop
  543. #
  544. #
  545. #stop: $(DEPS_41)
  546. #
  547. #
  548. # installBinary
  549. #
  550. #installBinary: $(DEPS_42)
  551. # mkdir -p "$(ME_APP_PREFIX)" ; \
  552. # rm -f "$(ME_APP_PREFIX)/latest" ; \
  553. # ln -s "$(VERSION)" "$(ME_APP_PREFIX)/latest" ; \
  554. # mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  555. # chmod 755 "$(ME_MAN_PREFIX)/man1" ; \
  556. # mkdir -p "$(ME_VAPP_PREFIX)/bin" ; \
  557. # cp $(BUILD)/bin/goahead $(ME_VAPP_PREFIX)/bin/goahead ; \
  558. # chmod 755 "$(ME_VAPP_PREFIX)/bin/goahead" ; \
  559. # mkdir -p "$(ME_BIN_PREFIX)" ; \
  560. # rm -f "$(ME_BIN_PREFIX)/goahead" ; \
  561. # ln -s "$(ME_VAPP_PREFIX)/bin/goahead" "$(ME_BIN_PREFIX)/goahead" ; \
  562. # mkdir -p "$(ME_VAPP_PREFIX)/bin" ; \
  563. # cp $(BUILD)/bin/roots.crt $(ME_VAPP_PREFIX)/bin/roots.crt ; \
  564. # mkdir -p "$(ME_WEB_PREFIX)" ; \
  565. # cp src/web/index.html $(ME_WEB_PREFIX)/index.html ; \
  566. # cp src/web/favicon.ico $(ME_WEB_PREFIX)/favicon.ico ; \
  567. # mkdir -p "$(ME_ETC_PREFIX)" ; \
  568. # cp src/auth.txt $(ME_ETC_PREFIX)/auth.txt ; \
  569. # cp src/route.txt $(ME_ETC_PREFIX)/route.txt ; \
  570. # mkdir -p "$(ME_VAPP_PREFIX)/bin" ; \
  571. # cp $(BUILD)/bin/libgo.so $(ME_VAPP_PREFIX)/bin/libgo.so ; \
  572. # mkdir -p "$(ME_VAPP_PREFIX)/doc/man/man1" ; \
  573. # cp doc/dist/man/goahead.1 $(ME_VAPP_PREFIX)/doc/man/man1/goahead.1 ; \
  574. # mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  575. # rm -f "$(ME_MAN_PREFIX)/man1/goahead.1" ; \
  576. # ln -s "$(ME_VAPP_PREFIX)/doc/man/man1/goahead.1" "$(ME_MAN_PREFIX)/man1/goahead.1" ; \
  577. # cp doc/dist/man/gopass.1 $(ME_VAPP_PREFIX)/doc/man/man1/gopass.1 ; \
  578. # mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  579. # rm -f "$(ME_MAN_PREFIX)/man1/gopass.1" ; \
  580. # ln -s "$(ME_VAPP_PREFIX)/doc/man/man1/gopass.1" "$(ME_MAN_PREFIX)/man1/gopass.1" ; \
  581. # cp doc/dist/man/webcomp.1 $(ME_VAPP_PREFIX)/doc/man/man1/webcomp.1 ; \
  582. # mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  583. # rm -f "$(ME_MAN_PREFIX)/man1/webcomp.1" ; \
  584. # ln -s "$(ME_VAPP_PREFIX)/doc/man/man1/webcomp.1" "$(ME_MAN_PREFIX)/man1/webcomp.1"
  585. # start
  586. #
  587. #
  588. #start: $(DEPS_43)
  589. #
  590. #
  591. # install
  592. #
  593. #DEPS_44 += stop
  594. #DEPS_44 += installBinary
  595. #DEPS_44 += start
  596. #
  597. #install: $(DEPS_44)
  598. #
  599. #
  600. # installPrep
  601. #
  602. #
  603. #installPrep: $(DEPS_45)
  604. # if [ "`id -u`" != 0 ] ; \
  605. # then echo "Must run as root. Rerun with sudo." ; \
  606. # exit 255 ; \
  607. # fi
  608. #
  609. #
  610. # uninstall
  611. #
  612. #DEPS_46 += stop
  613. #
  614. #u#ninstall: $(DEPS_46)
  615. #
  616. #
  617. # uninstallBinary
  618. #
  619. #
  620. #uninstallBinary: $(DEPS_47)
  621. # rm -fr "$(ME_WEB_PREFIX)" ; \
  622. # rm -fr "$(ME_VAPP_PREFIX)" ; \
  623. # rmdir -p "$(ME_ETC_PREFIX)" 2>/dev/null ; true ; \
  624. # rmdir -p "$(ME_WEB_PREFIX)" 2>/dev/null ; true ; \
  625. # rm -f "$(ME_APP_PREFIX)/latest" ; \
  626. # rmdir -p "$(ME_APP_PREFIX)" 2>/dev/null ; true
  627. #
  628. ##
  629. # version
  630. #
  631. version: $(DEPS_48)
  632. echo $(VERSION)