goahead-macosx-default.mk 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
  1. #
  2. # goahead-macosx-default.mk -- Makefile to build Embedthis GoAhead for macosx
  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 ?= macosx
  10. CC ?= clang
  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 += -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -w
  35. DFLAGS += -DME_DEBUG=1 $(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 += '-Wl,-rpath,@executable_path/' '-Wl,-rpath,@loader_path/'
  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-macosx-default-me.h $(BUILD)/inc/me.h ; true
  84. @if ! diff $(BUILD)/inc/me.h projects/goahead-macosx-default-me.h >/dev/null ; then\
  85. cp projects/goahead-macosx-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.dylib"
  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. DEPS_6 += $(BUILD)/inc/me.h
  174. $(BUILD)/inc/mbedtls.h: $(DEPS_6)
  175. @echo ' [Copy] $(BUILD)/inc/mbedtls.h'
  176. mkdir -p "$(BUILD)/inc"
  177. cp src/mbedtls/mbedtls.h $(BUILD)/inc/mbedtls.h
  178. #
  179. # action.o
  180. #
  181. DEPS_7 += $(BUILD)/inc/goahead.h
  182. $(BUILD)/obj/action.o: \
  183. src/action.c $(DEPS_7)
  184. @echo ' [Compile] $(BUILD)/obj/action.o'
  185. $(CC) -c -o $(BUILD)/obj/action.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/action.c
  186. #
  187. # alloc.o
  188. #
  189. DEPS_8 += $(BUILD)/inc/goahead.h
  190. $(BUILD)/obj/alloc.o: \
  191. src/alloc.c $(DEPS_8)
  192. @echo ' [Compile] $(BUILD)/obj/alloc.o'
  193. $(CC) -c -o $(BUILD)/obj/alloc.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/alloc.c
  194. #
  195. # auth.o
  196. #
  197. DEPS_9 += $(BUILD)/inc/goahead.h
  198. $(BUILD)/obj/auth.o: \
  199. src/auth.c $(DEPS_9)
  200. @echo ' [Compile] $(BUILD)/obj/auth.o'
  201. $(CC) -c -o $(BUILD)/obj/auth.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/auth.c
  202. #
  203. # cgi.o
  204. #
  205. DEPS_10 += $(BUILD)/inc/goahead.h
  206. $(BUILD)/obj/cgi.o: \
  207. src/cgi.c $(DEPS_10)
  208. @echo ' [Compile] $(BUILD)/obj/cgi.o'
  209. $(CC) -c -o $(BUILD)/obj/cgi.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/cgi.c
  210. #
  211. # cgitest.o
  212. #
  213. $(BUILD)/obj/cgitest.o: \
  214. test/cgitest.c $(DEPS_11)
  215. @echo ' [Compile] $(BUILD)/obj/cgitest.o'
  216. $(CC) -c -o $(BUILD)/obj/cgitest.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) $(IFLAGS) test/cgitest.c
  217. #
  218. # crypt.o
  219. #
  220. DEPS_12 += $(BUILD)/inc/goahead.h
  221. $(BUILD)/obj/crypt.o: \
  222. src/crypt.c $(DEPS_12)
  223. @echo ' [Compile] $(BUILD)/obj/crypt.o'
  224. $(CC) -c -o $(BUILD)/obj/crypt.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/crypt.c
  225. #
  226. # file.o
  227. #
  228. DEPS_13 += $(BUILD)/inc/goahead.h
  229. $(BUILD)/obj/file.o: \
  230. src/file.c $(DEPS_13)
  231. @echo ' [Compile] $(BUILD)/obj/file.o'
  232. $(CC) -c -o $(BUILD)/obj/file.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/file.c
  233. #
  234. # fs.o
  235. #
  236. DEPS_14 += $(BUILD)/inc/goahead.h
  237. $(BUILD)/obj/fs.o: \
  238. src/fs.c $(DEPS_14)
  239. @echo ' [Compile] $(BUILD)/obj/fs.o'
  240. $(CC) -c -o $(BUILD)/obj/fs.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/fs.c
  241. #
  242. # goahead-mbedtls.o
  243. #
  244. DEPS_15 += $(BUILD)/inc/goahead.h
  245. $(BUILD)/obj/goahead-mbedtls.o: \
  246. src/goahead-mbedtls/goahead-mbedtls.c $(DEPS_15)
  247. @echo ' [Compile] $(BUILD)/obj/goahead-mbedtls.o'
  248. $(CC) -c -o $(BUILD)/obj/goahead-mbedtls.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/goahead-mbedtls/goahead-mbedtls.c
  249. #
  250. # goahead-openssl.o
  251. #
  252. DEPS_16 += $(BUILD)/inc/goahead.h
  253. $(BUILD)/obj/goahead-openssl.o: \
  254. src/goahead-openssl/goahead-openssl.c $(DEPS_16)
  255. @echo ' [Compile] $(BUILD)/obj/goahead-openssl.o'
  256. $(CC) -c -o $(BUILD)/obj/goahead-openssl.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) $(IFLAGS) src/goahead-openssl/goahead-openssl.c
  257. #
  258. # goahead.o
  259. #
  260. DEPS_17 += $(BUILD)/inc/goahead.h
  261. $(BUILD)/obj/goahead.o: \
  262. src/goahead.c $(DEPS_17)
  263. @echo ' [Compile] $(BUILD)/obj/goahead.o'
  264. $(CC) -c -o $(BUILD)/obj/goahead.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/goahead.c
  265. #
  266. # gopass.o
  267. #
  268. DEPS_18 += $(BUILD)/inc/goahead.h
  269. $(BUILD)/obj/gopass.o: \
  270. src/utils/gopass.c $(DEPS_18)
  271. @echo ' [Compile] $(BUILD)/obj/gopass.o'
  272. $(CC) -c -o $(BUILD)/obj/gopass.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/utils/gopass.c
  273. #
  274. # http.o
  275. #
  276. DEPS_19 += $(BUILD)/inc/goahead.h
  277. $(BUILD)/obj/http.o: \
  278. src/http.c $(DEPS_19)
  279. @echo ' [Compile] $(BUILD)/obj/http.o'
  280. $(CC) -c -o $(BUILD)/obj/http.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/http.c
  281. #
  282. # js.o
  283. #
  284. DEPS_20 += $(BUILD)/inc/js.h
  285. $(BUILD)/obj/js.o: \
  286. src/js.c $(DEPS_20)
  287. @echo ' [Compile] $(BUILD)/obj/js.o'
  288. $(CC) -c -o $(BUILD)/obj/js.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/js.c
  289. #
  290. # jst.o
  291. #
  292. DEPS_21 += $(BUILD)/inc/goahead.h
  293. DEPS_21 += $(BUILD)/inc/js.h
  294. $(BUILD)/obj/jst.o: \
  295. src/jst.c $(DEPS_21)
  296. @echo ' [Compile] $(BUILD)/obj/jst.o'
  297. $(CC) -c -o $(BUILD)/obj/jst.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/jst.c
  298. #
  299. # mbedtls.o
  300. #
  301. DEPS_22 += $(BUILD)/inc/mbedtls.h
  302. $(BUILD)/obj/mbedtls.o: \
  303. src/mbedtls/mbedtls.c $(DEPS_22)
  304. @echo ' [Compile] $(BUILD)/obj/mbedtls.o'
  305. $(CC) -c -o $(BUILD)/obj/mbedtls.o -arch $(CC_ARCH) $(CFLAGS) -Wno-format-zero-length $(DFLAGS) -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/mbedtls/mbedtls.c
  306. #
  307. # options.o
  308. #
  309. DEPS_23 += $(BUILD)/inc/goahead.h
  310. $(BUILD)/obj/options.o: \
  311. src/options.c $(DEPS_23)
  312. @echo ' [Compile] $(BUILD)/obj/options.o'
  313. $(CC) -c -o $(BUILD)/obj/options.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/options.c
  314. #
  315. # osdep.o
  316. #
  317. DEPS_24 += $(BUILD)/inc/goahead.h
  318. $(BUILD)/obj/osdep.o: \
  319. src/osdep.c $(DEPS_24)
  320. @echo ' [Compile] $(BUILD)/obj/osdep.o'
  321. $(CC) -c -o $(BUILD)/obj/osdep.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/osdep.c
  322. #
  323. # rom.o
  324. #
  325. DEPS_25 += $(BUILD)/inc/goahead.h
  326. $(BUILD)/obj/rom.o: \
  327. src/rom.c $(DEPS_25)
  328. @echo ' [Compile] $(BUILD)/obj/rom.o'
  329. $(CC) -c -o $(BUILD)/obj/rom.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/rom.c
  330. #
  331. # route.o
  332. #
  333. DEPS_26 += $(BUILD)/inc/goahead.h
  334. $(BUILD)/obj/route.o: \
  335. src/route.c $(DEPS_26)
  336. @echo ' [Compile] $(BUILD)/obj/route.o'
  337. $(CC) -c -o $(BUILD)/obj/route.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/route.c
  338. #
  339. # runtime.o
  340. #
  341. DEPS_27 += $(BUILD)/inc/goahead.h
  342. $(BUILD)/obj/runtime.o: \
  343. src/runtime.c $(DEPS_27)
  344. @echo ' [Compile] $(BUILD)/obj/runtime.o'
  345. $(CC) -c -o $(BUILD)/obj/runtime.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/runtime.c
  346. #
  347. # socket.o
  348. #
  349. DEPS_28 += $(BUILD)/inc/goahead.h
  350. $(BUILD)/obj/socket.o: \
  351. src/socket.c $(DEPS_28)
  352. @echo ' [Compile] $(BUILD)/obj/socket.o'
  353. $(CC) -c -o $(BUILD)/obj/socket.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/socket.c
  354. #
  355. # test.o
  356. #
  357. DEPS_29 += $(BUILD)/inc/goahead.h
  358. DEPS_29 += $(BUILD)/inc/js.h
  359. $(BUILD)/obj/test.o: \
  360. test/test.c $(DEPS_29)
  361. @echo ' [Compile] $(BUILD)/obj/test.o'
  362. $(CC) -c -o $(BUILD)/obj/test.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) test/test.c
  363. #
  364. # time.o
  365. #
  366. DEPS_30 += $(BUILD)/inc/goahead.h
  367. $(BUILD)/obj/time.o: \
  368. src/time.c $(DEPS_30)
  369. @echo ' [Compile] $(BUILD)/obj/time.o'
  370. $(CC) -c -o $(BUILD)/obj/time.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/time.c
  371. #
  372. # upload.o
  373. #
  374. DEPS_31 += $(BUILD)/inc/goahead.h
  375. $(BUILD)/obj/upload.o: \
  376. src/upload.c $(DEPS_31)
  377. @echo ' [Compile] $(BUILD)/obj/upload.o'
  378. $(CC) -c -o $(BUILD)/obj/upload.o -arch $(CC_ARCH) $(CFLAGS) $(DFLAGS) -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -DMBEDTLS_USER_CONFIG_FILE=\"embedtls.h\" $(IFLAGS) src/upload.c
  379. ifeq ($(ME_COM_MBEDTLS),1)
  380. #
  381. # libmbedtls
  382. #
  383. DEPS_32 += $(BUILD)/inc/osdep.h
  384. DEPS_32 += $(BUILD)/inc/embedtls.h
  385. DEPS_32 += $(BUILD)/inc/mbedtls.h
  386. DEPS_32 += $(BUILD)/obj/mbedtls.o
  387. $(BUILD)/bin/libmbedtls.a: $(DEPS_32)
  388. @echo ' [Link] $(BUILD)/bin/libmbedtls.a'
  389. ar -cr $(BUILD)/bin/libmbedtls.a "$(BUILD)/obj/mbedtls.o"
  390. endif
  391. ifeq ($(ME_COM_MBEDTLS),1)
  392. #
  393. # libgoahead-mbedtls
  394. #
  395. DEPS_33 += $(BUILD)/bin/libmbedtls.a
  396. DEPS_33 += $(BUILD)/obj/goahead-mbedtls.o
  397. $(BUILD)/bin/libgoahead-mbedtls.a: $(DEPS_33)
  398. @echo ' [Link] $(BUILD)/bin/libgoahead-mbedtls.a'
  399. ar -cr $(BUILD)/bin/libgoahead-mbedtls.a "$(BUILD)/obj/goahead-mbedtls.o"
  400. endif
  401. ifeq ($(ME_COM_OPENSSL),1)
  402. #
  403. # libgoahead-openssl
  404. #
  405. DEPS_34 += $(BUILD)/obj/goahead-openssl.o
  406. $(BUILD)/bin/libgoahead-openssl.a: $(DEPS_34)
  407. @echo ' [Link] $(BUILD)/bin/libgoahead-openssl.a'
  408. ar -cr $(BUILD)/bin/libgoahead-openssl.a "$(BUILD)/obj/goahead-openssl.o"
  409. endif
  410. #
  411. # libgo
  412. #
  413. DEPS_35 += $(BUILD)/inc/osdep.h
  414. ifeq ($(ME_COM_MBEDTLS),1)
  415. DEPS_35 += $(BUILD)/bin/libgoahead-mbedtls.a
  416. endif
  417. ifeq ($(ME_COM_OPENSSL),1)
  418. DEPS_35 += $(BUILD)/bin/libgoahead-openssl.a
  419. endif
  420. DEPS_35 += $(BUILD)/inc/goahead.h
  421. DEPS_35 += $(BUILD)/inc/js.h
  422. DEPS_35 += $(BUILD)/obj/action.o
  423. DEPS_35 += $(BUILD)/obj/alloc.o
  424. DEPS_35 += $(BUILD)/obj/auth.o
  425. DEPS_35 += $(BUILD)/obj/cgi.o
  426. DEPS_35 += $(BUILD)/obj/crypt.o
  427. DEPS_35 += $(BUILD)/obj/file.o
  428. DEPS_35 += $(BUILD)/obj/fs.o
  429. DEPS_35 += $(BUILD)/obj/http.o
  430. DEPS_35 += $(BUILD)/obj/js.o
  431. DEPS_35 += $(BUILD)/obj/jst.o
  432. DEPS_35 += $(BUILD)/obj/options.o
  433. DEPS_35 += $(BUILD)/obj/osdep.o
  434. DEPS_35 += $(BUILD)/obj/rom.o
  435. DEPS_35 += $(BUILD)/obj/route.o
  436. DEPS_35 += $(BUILD)/obj/runtime.o
  437. DEPS_35 += $(BUILD)/obj/socket.o
  438. DEPS_35 += $(BUILD)/obj/time.o
  439. DEPS_35 += $(BUILD)/obj/upload.o
  440. ifeq ($(ME_COM_MBEDTLS),1)
  441. LIBS_35 += -lmbedtls
  442. endif
  443. ifeq ($(ME_COM_MBEDTLS),1)
  444. LIBS_35 += -lgoahead-mbedtls
  445. endif
  446. ifeq ($(ME_COM_MBEDTLS),1)
  447. LIBS_35 += -lmbedtls
  448. endif
  449. ifeq ($(ME_COM_OPENSSL),1)
  450. LIBS_35 += -lgoahead-openssl
  451. endif
  452. ifeq ($(ME_COM_MBEDTLS),1)
  453. LIBS_35 += -lgoahead-mbedtls
  454. endif
  455. $(BUILD)/bin/libgo.dylib: $(DEPS_35)
  456. @echo ' [Link] $(BUILD)/bin/libgo.dylib'
  457. $(CC) -dynamiclib -o $(BUILD)/bin/libgo.dylib -arch $(CC_ARCH) $(LDFLAGS) $(LIBPATHS) -install_name @rpath/libgo.dylib -compatibility_version 3.6 -current_version 3.6 "$(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_35) $(LIBS_35) $(LIBS_35) $(LIBS)
  458. #
  459. # install-certs
  460. #
  461. DEPS_36 += src/certs/samples/ca.crt
  462. DEPS_36 += src/certs/samples/ca.key
  463. DEPS_36 += src/certs/samples/ec.crt
  464. DEPS_36 += src/certs/samples/ec.key
  465. DEPS_36 += src/certs/samples/roots.crt
  466. DEPS_36 += src/certs/samples/self.crt
  467. DEPS_36 += src/certs/samples/self.key
  468. DEPS_36 += src/certs/samples/test.crt
  469. DEPS_36 += src/certs/samples/test.key
  470. $(BUILD)/.install-certs-modified: $(DEPS_36)
  471. @echo ' [Copy] $(BUILD)/bin'
  472. mkdir -p "$(BUILD)/bin"
  473. cp src/certs/samples/ca.crt $(BUILD)/bin/ca.crt
  474. cp src/certs/samples/ca.key $(BUILD)/bin/ca.key
  475. cp src/certs/samples/ec.crt $(BUILD)/bin/ec.crt
  476. cp src/certs/samples/ec.key $(BUILD)/bin/ec.key
  477. cp src/certs/samples/roots.crt $(BUILD)/bin/roots.crt
  478. cp src/certs/samples/self.crt $(BUILD)/bin/self.crt
  479. cp src/certs/samples/self.key $(BUILD)/bin/self.key
  480. cp src/certs/samples/test.crt $(BUILD)/bin/test.crt
  481. cp src/certs/samples/test.key $(BUILD)/bin/test.key
  482. touch "$(BUILD)/.install-certs-modified"
  483. #
  484. # goahead
  485. #
  486. DEPS_37 += $(BUILD)/bin/libgo.dylib
  487. DEPS_37 += $(BUILD)/.install-certs-modified
  488. DEPS_37 += $(BUILD)/inc/goahead.h
  489. DEPS_37 += $(BUILD)/inc/js.h
  490. DEPS_37 += $(BUILD)/obj/goahead.o
  491. ifeq ($(ME_COM_MBEDTLS),1)
  492. LIBS_37 += -lmbedtls
  493. endif
  494. ifeq ($(ME_COM_MBEDTLS),1)
  495. LIBS_37 += -lgoahead-mbedtls
  496. endif
  497. ifeq ($(ME_COM_MBEDTLS),1)
  498. LIBS_37 += -lmbedtls
  499. endif
  500. ifeq ($(ME_COM_OPENSSL),1)
  501. LIBS_37 += -lgoahead-openssl
  502. endif
  503. LIBS_37 += -lgo
  504. ifeq ($(ME_COM_MBEDTLS),1)
  505. LIBS_37 += -lgoahead-mbedtls
  506. endif
  507. $(BUILD)/bin/goahead: $(DEPS_37)
  508. @echo ' [Link] $(BUILD)/bin/goahead'
  509. $(CC) -o $(BUILD)/bin/goahead -arch $(CC_ARCH) $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/goahead.o" $(LIBPATHS_37) $(LIBS_37) $(LIBS_37) $(LIBS)
  510. #
  511. # goahead-test
  512. #
  513. DEPS_38 += $(BUILD)/bin/libgo.dylib
  514. DEPS_38 += $(BUILD)/.install-certs-modified
  515. DEPS_38 += $(BUILD)/obj/test.o
  516. ifeq ($(ME_COM_MBEDTLS),1)
  517. LIBS_38 += -lmbedtls
  518. endif
  519. ifeq ($(ME_COM_MBEDTLS),1)
  520. LIBS_38 += -lgoahead-mbedtls
  521. endif
  522. ifeq ($(ME_COM_MBEDTLS),1)
  523. LIBS_38 += -lmbedtls
  524. endif
  525. ifeq ($(ME_COM_OPENSSL),1)
  526. LIBS_38 += -lgoahead-openssl
  527. endif
  528. LIBS_38 += -lgo
  529. ifeq ($(ME_COM_MBEDTLS),1)
  530. LIBS_38 += -lgoahead-mbedtls
  531. endif
  532. $(BUILD)/bin/goahead-test: $(DEPS_38)
  533. @echo ' [Link] $(BUILD)/bin/goahead-test'
  534. $(CC) -o $(BUILD)/bin/goahead-test -arch $(CC_ARCH) $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/test.o" $(LIBPATHS_38) $(LIBS_38) $(LIBS_38) $(LIBS)
  535. #
  536. # gopass
  537. #
  538. DEPS_39 += $(BUILD)/bin/libgo.dylib
  539. DEPS_39 += $(BUILD)/inc/goahead.h
  540. DEPS_39 += $(BUILD)/inc/js.h
  541. DEPS_39 += $(BUILD)/obj/gopass.o
  542. ifeq ($(ME_COM_MBEDTLS),1)
  543. LIBS_39 += -lmbedtls
  544. endif
  545. ifeq ($(ME_COM_MBEDTLS),1)
  546. LIBS_39 += -lgoahead-mbedtls
  547. endif
  548. ifeq ($(ME_COM_MBEDTLS),1)
  549. LIBS_39 += -lmbedtls
  550. endif
  551. ifeq ($(ME_COM_OPENSSL),1)
  552. LIBS_39 += -lgoahead-openssl
  553. endif
  554. LIBS_39 += -lgo
  555. ifeq ($(ME_COM_MBEDTLS),1)
  556. LIBS_39 += -lgoahead-mbedtls
  557. endif
  558. $(BUILD)/bin/gopass: $(DEPS_39)
  559. @echo ' [Link] $(BUILD)/bin/gopass'
  560. $(CC) -o $(BUILD)/bin/gopass -arch $(CC_ARCH) $(LDFLAGS) $(LIBPATHS) "$(BUILD)/obj/gopass.o" $(LIBPATHS_39) $(LIBS_39) $(LIBS_39) $(LIBS)
  561. #
  562. # stop
  563. #
  564. stop: $(DEPS_40)
  565. #
  566. # installBinary
  567. #
  568. installBinary: $(DEPS_41)
  569. mkdir -p "$(ME_APP_PREFIX)" ; \
  570. rm -f "$(ME_APP_PREFIX)/latest" ; \
  571. ln -s "$(VERSION)" "$(ME_APP_PREFIX)/latest" ; \
  572. mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  573. chmod 755 "$(ME_MAN_PREFIX)/man1" ; \
  574. mkdir -p "$(ME_VAPP_PREFIX)/bin" ; \
  575. cp $(BUILD)/bin/goahead $(ME_VAPP_PREFIX)/bin/goahead ; \
  576. chmod 755 "$(ME_VAPP_PREFIX)/bin/goahead" ; \
  577. mkdir -p "$(ME_BIN_PREFIX)" ; \
  578. rm -f "$(ME_BIN_PREFIX)/goahead" ; \
  579. ln -s "$(ME_VAPP_PREFIX)/bin/goahead" "$(ME_BIN_PREFIX)/goahead" ; \
  580. mkdir -p "$(ME_VAPP_PREFIX)/bin" ; \
  581. cp $(BUILD)/bin/roots.crt $(ME_VAPP_PREFIX)/bin/roots.crt ; \
  582. mkdir -p "$(ME_WEB_PREFIX)" ; \
  583. cp src/web/index.html $(ME_WEB_PREFIX)/index.html ; \
  584. cp src/web/favicon.ico $(ME_WEB_PREFIX)/favicon.ico ; \
  585. mkdir -p "$(ME_ETC_PREFIX)" ; \
  586. cp src/auth.txt $(ME_ETC_PREFIX)/auth.txt ; \
  587. cp src/route.txt $(ME_ETC_PREFIX)/route.txt ; \
  588. mkdir -p "$(ME_VAPP_PREFIX)/bin" ; \
  589. cp $(BUILD)/bin/libgo.dylib $(ME_VAPP_PREFIX)/bin/libgo.dylib ; \
  590. mkdir -p "$(ME_VAPP_PREFIX)/doc/man/man1" ; \
  591. cp doc/dist/man/goahead.1 $(ME_VAPP_PREFIX)/doc/man/man1/goahead.1 ; \
  592. mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  593. rm -f "$(ME_MAN_PREFIX)/man1/goahead.1" ; \
  594. ln -s "$(ME_VAPP_PREFIX)/doc/man/man1/goahead.1" "$(ME_MAN_PREFIX)/man1/goahead.1" ; \
  595. cp doc/dist/man/gopass.1 $(ME_VAPP_PREFIX)/doc/man/man1/gopass.1 ; \
  596. mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  597. rm -f "$(ME_MAN_PREFIX)/man1/gopass.1" ; \
  598. ln -s "$(ME_VAPP_PREFIX)/doc/man/man1/gopass.1" "$(ME_MAN_PREFIX)/man1/gopass.1" ; \
  599. cp doc/dist/man/webcomp.1 $(ME_VAPP_PREFIX)/doc/man/man1/webcomp.1 ; \
  600. mkdir -p "$(ME_MAN_PREFIX)/man1" ; \
  601. rm -f "$(ME_MAN_PREFIX)/man1/webcomp.1" ; \
  602. ln -s "$(ME_VAPP_PREFIX)/doc/man/man1/webcomp.1" "$(ME_MAN_PREFIX)/man1/webcomp.1"
  603. #
  604. # start
  605. #
  606. start: $(DEPS_42)
  607. #
  608. # install
  609. #
  610. DEPS_43 += stop
  611. DEPS_43 += installBinary
  612. DEPS_43 += start
  613. install: $(DEPS_43)
  614. #
  615. # installPrep
  616. #
  617. installPrep: $(DEPS_44)
  618. if [ "`id -u`" != 0 ] ; \
  619. then echo "Must run as root. Rerun with sudo." ; \
  620. exit 255 ; \
  621. fi
  622. #
  623. # uninstall
  624. #
  625. DEPS_45 += stop
  626. uninstall: $(DEPS_45)
  627. #
  628. # uninstallBinary
  629. #
  630. uninstallBinary: $(DEPS_46)
  631. rm -fr "$(ME_WEB_PREFIX)" ; \
  632. rm -fr "$(ME_VAPP_PREFIX)" ; \
  633. rmdir -p "$(ME_ETC_PREFIX)" 2>/dev/null ; true ; \
  634. rmdir -p "$(ME_WEB_PREFIX)" 2>/dev/null ; true ; \
  635. rm -f "$(ME_APP_PREFIX)/latest" ; \
  636. rmdir -p "$(ME_APP_PREFIX)" 2>/dev/null ; true
  637. #
  638. # version
  639. #
  640. version: $(DEPS_47)
  641. echo $(VERSION)