goahead-freebsd-default.mk 22 KB

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