@@ -55,19 +55,16 @@ LDLIBS = \
5555 ../../subprojects/opensea-common/Make/gccWin/$(LIB_FILE_OUTPUT_DIR)/libopensea-common.a \
5656 ../../subprojects/wingetopt/lib/libwingetopt.a
5757
58- LIBJSONFORMATLFLAGS ?= \
59- ../../subprojects/opensea-jsonformat/Make/gccWin/$(LIB_FILE_OUTPUT_DIR)/libopensea-jsonformat.a \
60- ../../subprojects/json-c/buildwin/libjson-c.a
58+ #NOTE: Additional LFLAGS for JSON format output support
59+ LIBJSONFORMATLFLAGS =
60+
6161INC_DIR= \
6262 -I../../subprojects/opensea-common/include \
6363 -I../../subprojects/opensea-transport/include \
6464 -I../../subprojects/opensea-transport/include/vendor \
65- -I../../include \
6665 -I../../subprojects/opensea-operations/include \
67- -I../../subprojects/wingetopt/src \
68- -I../../subprojects/opensea-jsonformat/include \
69- -I../../subprojects/json-c \
70- -I../../subprojects/json-c/buildwin \
66+ -I../../include \
67+ -I../../subprojects/wingetopt/src
7168
7269ifneq (,$(findstring MINGW64,$(UNAME)))
7370 #CFLAGS += -mno-ms-bitfields
@@ -83,6 +80,18 @@ MACHINE := $(shell uname -m)
8380ifeq ($(MACHINE), x86_64)
8481endif
8582
83+ ifeq (1,$(JSONOUTPUTSUPPORT))
84+
85+ LIBJSONFORMATLFLAGS += \
86+ ../../subprojects/opensea-jsonformat/Make/gcc/$(LIB_FILE_OUTPUT_DIR)/libopensea-jsonformat.a \
87+ ../../subprojects/json-c/build/libjson-c.a
88+
89+ INC_DIR += -I../../subprojects/json-c \
90+ -I../../subprojects/json-c/build \
91+ -I../../subprojects/opensea-jsonformat/include
92+
93+ endif
94+
8695FILE_OUTPUT_DIR=openseachest_exes
8796
8897#Files for the final binary
@@ -207,6 +216,10 @@ ifneq (,$(findstring MINGW64,$(UNAME)))
207216 # PROJECT_DEFINES += -D_WIN32_WINNT=0x0601
208217endif
209218
219+ ifeq (1,$(JSONOUTPUTSUPPORT))
220+ PROJECT_DEFINES += -DFEATURE_JSONOUTPUT_SUPPORT
221+ endif
222+
210223.PHONY: clean clean_all all
211224all: clean_all release
212225
@@ -237,7 +250,11 @@ debug: SMARTOUTFILE := $(SMARTOUTFILE)_dbg.exe
237250debug: ZBDOUTFILE := $(ZBDOUTFILE)_dbg.exe
238251debug: PASSTHROUGHTESTOUTFILE := $(PASSTHROUGHTESTOUTFILE)_dbg.exe
239252debug: RESERVATIONSOUTFILE := $(RESERVATIONSOUTFILE)_dbg.exe
240- debug: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
253+ ifeq (1,$(JSONOUTPUTSUPPORT))
254+ debug: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
255+ else
256+ debug: mkoutputdir wingetopt opensea-libs $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
257+ endif
241258
242259static-debug: CXXFLAGS += -g
243260static-debug: CFLAGS += -g
@@ -258,7 +275,11 @@ static-debug: SMARTOUTFILE := $(SMARTOUTFILE)_static_dbg.exe
258275static-debug: ZBDOUTFILE := $(ZBDOUTFILE)_static_dbg.exe
259276static-debug: PASSTHROUGHTESTOUTFILE := $(PASSTHROUGHTESTOUTFILE)_static_dbg.exe
260277static-debug: RESERVATIONSOUTFILE := $(RESERVATIONSOUTFILE)_static_dbg.exe
261- static-debug: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
278+ ifeq (1,$(JSONOUTPUTSUPPORT))
279+ static-debug: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
280+ else
281+ static-debug: mkoutputdir wingetopt opensea-libs $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
282+ endif
262283
263284release: CXXFLAGS += -O3
264285release: CFLAGS += -O3
@@ -277,7 +298,11 @@ release: SMARTOUTFILE := $(SMARTOUTFILE).exe
277298release: ZBDOUTFILE := $(ZBDOUTFILE).exe
278299release: PASSTHROUGHTESTOUTFILE := $(PASSTHROUGHTESTOUTFILE).exe
279300release: RESERVATIONSOUTFILE := $(RESERVATIONSOUTFILE).exe
280- release: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
301+ ifeq (1,$(JSONOUTPUTSUPPORT))
302+ release: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
303+ else
304+ release: mkoutputdir wingetopt opensea-libs $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
305+ endif
281306
282307static-release: CXXFLAGS += -O3
283308static-release: CFLAGS += -O3
@@ -299,7 +324,11 @@ static-release: SMARTOUTFILE := $(SMARTOUTFILE)_static.exe
299324static-release: ZBDOUTFILE := $(ZBDOUTFILE)_static.exe
300325static-release: PASSTHROUGHTESTOUTFILE := $(PASSTHROUGHTESTOUTFILE)_static.exe
301326static-release: RESERVATIONSOUTFILE := $(RESERVATIONSOUTFILE)_static.exe
302- static-release: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
327+ ifeq (1,$(JSONOUTPUTSUPPORT))
328+ static-release: mkoutputdir wingetopt json-c opensea-libs seajsonformat $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
329+ else
330+ static-release: mkoutputdir wingetopt opensea-libs $(BASICSOUTFILE) $(CONFIGUREOUTFILE) $(ERASEOUTFILE) $(FIRMWAREOUTFILE) $(GENERICTESTSOUTFILE) $(FORMATOUTFILE) $(INFOOUTFILE) $(LOGSOUTFILE) $(NVMEOUTFILE) $(POWERCONTROLOUTFILE) $(SMARTOUTFILE) $(SECURITYOUTFILE) $(ZBDOUTFILE) $(PASSTHROUGHTESTOUTFILE) $(RESERVATIONSOUTFILE)
331+ endif
303332
304333export CFLAGS
305334export CXXFLAGS
@@ -313,7 +342,6 @@ json-c:
313342wingetopt:
314343 $(MAKE) -C ../../subprojects/wingetopt
315344
316-
317345opensea-libs:
318346 $(MAKE) -C ../../subprojects/opensea-common/Make/gccWin -f Makefile.gccWin
319347 $(MAKE) -C ../../subprojects/opensea-transport/Make/gccWin -f Makefile.gccWin
@@ -325,20 +353,19 @@ seajsonformat:
325353#basics
326354ifneq (,$(findstring basics,$(BUILD_ALL)))
327355 $(BASICSOUTFILE): $(BASICSOBJS)
328- $(CC) $(BASICSOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(BASICSOUTFILE)
356+ $(CC) $(BASICSOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(BASICSOUTFILE)
329357 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(BASICSOUTFILE)
330358 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(BASICSOUTFILE)
331359endif
332360
333361#security
334362ifneq (,$(findstring security,$(BUILD_ALL)))
335363 $(SECURITYOUTFILE): $(SECURITYOBJS)
336- $(CC) $(SECURITYOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(SECURITYOUTFILE)
364+ $(CC) $(SECURITYOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(SECURITYOUTFILE)
337365 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(SECURITYOUTFILE)
338366 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(SECURITYOUTFILE)
339367endif
340368
341-
342369#configure
343370ifneq (,$(findstring configure,$(BUILD_ALL)))
344371 $(CONFIGUREOUTFILE): $(CONFIGUREOBJS)
@@ -351,35 +378,35 @@ endif
351378ifneq (,$(findstring erase,$(BUILD_ALL)))
352379 $(ERASEOUTFILE): $(ERASEOBJS)
353380 ifneq (,$(findstring DISABLE_TCG_SUPPORT,$(PROJECT_DEFINES)))
354- $(CC) $(ERASEOBJS) $(PROJECT_DEFINES) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
381+ $(CC) $(ERASEOBJS) $(PROJECT_DEFINES) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
355382 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
356383 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
357384 else
358- # $(CC) $(ERASEOBJS) $(TCGLFLAGS) -o $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
385+ # $(CC) $(ERASEOBJS) $(LIBJSONFORMATLFLAGS) $( TCGLFLAGS) -o $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
359386# $(STRIP) -s $(FILE_OUTPUT_DIR)/$(ERASEOUTFILE)
360387 endif
361388endif
362389
363390#firmware
364391ifneq (,$(findstring firmware,$(BUILD_ALL)))
365392 $(FIRMWAREOUTFILE): $(FIRMWAREOBJS)
366- $(CC) $(FIRMWAREOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(FIRMWAREOUTFILE)
393+ $(CC) $(FIRMWAREOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(FIRMWAREOUTFILE)
367394 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(FIRMWAREOUTFILE)
368395 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(FIRMWAREOUTFILE)
369396endif
370397
371398#format
372399ifneq (,$(findstring format,$(BUILD_ALL)))
373400 $(FORMATOUTFILE): $(FORMATOBJS)
374- $(CC) $(FORMATOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(FORMATOUTFILE)
401+ $(CC) $(FORMATOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(FORMATOUTFILE)
375402 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(FORMATOUTFILE)
376403 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(FORMATOUTFILE)
377404endif
378405
379406#generictests
380407ifneq (,$(findstring generictests,$(BUILD_ALL)))
381408 $(GENERICTESTSOUTFILE) : $(GENERICTESTSOBJS)
382- $(CC) $(GENERICTESTSOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(GENERICTESTSOUTFILE)
409+ $(CC) $(GENERICTESTSOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(GENERICTESTSOUTFILE)
383410 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(GENERICTESTSOUTFILE)
384411 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(GENERICTESTSOUTFILE)
385412endif
@@ -395,55 +422,55 @@ endif
395422#logs
396423ifneq (,$(findstring logs,$(BUILD_ALL)))
397424 $(LOGSOUTFILE): $(LOGSOBJS)
398- $(CC) $(LOGSOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(LOGSOUTFILE)
425+ $(CC) $(LOGSOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(LOGSOUTFILE)
399426 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(LOGSOUTFILE)
400427 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(LOGSOUTFILE)
401428endif
402429
403430#nvme
404431ifneq (,$(findstring nvme,$(BUILD_ALL)))
405432 $(NVMEOUTFILE): $(NVMEOBJS)
406- $(CC) $(NVMEOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(NVMEOUTFILE)
433+ $(CC) $(NVMEOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(NVMEOUTFILE)
407434 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(NVMEOUTFILE)
408435 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(NVMEOUTFILE)
409436endif
410437
411438#powercontrol
412439ifneq (,$(findstring powercontrol,$(BUILD_ALL)))
413440 $(POWERCONTROLOUTFILE) : $(POWERCONTROLOBJS)
414- $(CC) $(POWERCONTROLOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(POWERCONTROLOUTFILE)
441+ $(CC) $(POWERCONTROLOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(POWERCONTROLOUTFILE)
415442 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(POWERCONTROLOUTFILE)
416443 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(POWERCONTROLOUTFILE)
417444endif
418445
419446#smart
420447ifneq (,$(findstring smart,$(BUILD_ALL)))
421448 $(SMARTOUTFILE): $(SMARTOBJS)
422- $(CC) $(SMARTOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(SMARTOUTFILE)
449+ $(CC) $(SMARTOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(SMARTOUTFILE)
423450 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(SMARTOUTFILE)
424451 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(SMARTOUTFILE)
425452endif
426453
427454#zbd
428455ifneq (,$(findstring zbd,$(BUILD_ALL)))
429456 $(ZBDOUTFILE): $(ZBDOBJS)
430- $(CC) $(ZBDOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(ZBDOUTFILE)
457+ $(CC) $(ZBDOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(ZBDOUTFILE)
431458 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(ZBDOUTFILE)
432459 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(ZBDOUTFILE)
433460endif
434461
435462#passthrough
436463ifneq (,$(findstring passthrough,$(BUILD_ALL)))
437464 $(PASSTHROUGHTESTOUTFILE): $(PASSTHROUGHTESTOBJS)
438- $(CC) $(PASSTHROUGHTESTOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(PASSTHROUGHTESTOUTFILE)
465+ $(CC) $(PASSTHROUGHTESTOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(PASSTHROUGHTESTOUTFILE)
439466 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(PASSTHROUGHTESTOUTFILE)
440467 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(PASSTHROUGHTESTOUTFILE)
441468endif
442469
443470#reservations
444471ifneq (,$(findstring reservations,$(BUILD_ALL)))
445472 $(RESERVATIONSOUTFILE): $(RESERVATIONSOBJS)
446- $(CC) $(RESERVATIONSOBJS) $(LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(RESERVATIONSOUTFILE)
473+ $(CC) $(RESERVATIONSOBJS) $(LIBJSONFORMATLFLAGS) $( LDFLAGS) $(LDLIBS) -o $(FILE_OUTPUT_DIR)/$(RESERVATIONSOUTFILE)
447474 $(STRIP) -s $(FILE_OUTPUT_DIR)/$(RESERVATIONSOUTFILE)
448475 #sh rename_seachest.sh $(FILE_OUTPUT_DIR)/$(RESERVATIONSOUTFILE)
449476endif
0 commit comments