OBK_CFLAGS =
ifdef OBK_VARIANT
OBK_CFLAGS += -DOBK_VARIANT=${OBK_VARIANT}
endif
ifdef USER_SW_VER
OBK_CFLAGS += -DUSER_SW_VER='"${USER_SW_VER}"'
else 
ifdef APP_VERSION
OBK_CFLAGS += -DUSER_SW_VER='"${APP_VERSION}"'
endif
endif

OBKM_SRC =
OBKM_SRC_CXX =

OBKM_SRC  += $(OBK_SRCS)user_main.c

OBKM_SRC  += $(OBK_SRCS)base64/base64.c
OBKM_SRC  += $(OBK_SRCS)bitmessage/bitmessage_read.c
OBKM_SRC  += $(OBK_SRCS)bitmessage/bitmessage_write.c
OBKM_SRC  += $(OBK_SRCS)cJSON/cJSON.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_berry.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_channels.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_eventHandlers.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_if.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_main.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_newLEDDriver_colors.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_newLEDDriver.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_repeatingEvents.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_send.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_script.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_simulatorOnly.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_tasmota.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_tcp.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_test.c
OBKM_SRC  += $(OBK_SRCS)cmnds/cmd_tokenizer.c
OBKM_SRC  += $(OBK_SRCS)devicegroups/deviceGroups_read.c
OBKM_SRC  += $(OBK_SRCS)devicegroups/deviceGroups_util.c
OBKM_SRC  += $(OBK_SRCS)devicegroups/deviceGroups_write.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_adc_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_flashConfig_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_flashVars_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_main_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_ota_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_pins_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_wifi_generic.c
OBKM_SRC  += $(OBK_SRCS)hal/generic/hal_uart_generic.c
OBKM_SRC  += $(OBK_SRCS)httpserver/hass.c
OBKM_SRC  += $(OBK_SRCS)httpserver/http_basic_auth.c
OBKM_SRC  += $(OBK_SRCS)httpserver/http_fns.c
OBKM_SRC  += $(OBK_SRCS)httpserver/http_tcp_server.c
OBKM_SRC  += $(OBK_SRCS)httpserver/new_tcp_server.c
OBKM_SRC  += $(OBK_SRCS)httpserver/json_interface.c
OBKM_SRC  += $(OBK_SRCS)httpserver/new_http.c
OBKM_SRC  += $(OBK_SRCS)httpserver/rest_interface.c
OBKM_SRC  += $(OBK_SRCS)mqtt/new_mqtt_deduper.c
OBKM_SRC  += $(OBK_SRCS)jsmn/jsmn.c
OBKM_SRC  += $(OBK_SRCS)logging/logging.c
OBKM_SRC  += $(OBK_SRCS)mqtt/new_mqtt.c
OBKM_SRC  += $(OBK_SRCS)new_cfg.c
OBKM_SRC  += $(OBK_SRCS)new_common.c
OBKM_SRC  += $(OBK_SRCS)new_ping.c
OBKM_SRC  += $(OBK_SRCS)new_pins.c
OBKM_SRC  += $(OBK_SRCS)rgb2hsv.c
OBKM_SRC  += $(OBK_SRCS)tiny_crc8.c
OBKM_SRC  += $(OBK_SRCS)httpclient/http_client.c
OBKM_SRC  += $(OBK_SRCS)httpclient/utils_net.c
OBKM_SRC  += $(OBK_SRCS)httpclient/utils_timer.c
OBKM_SRC  += $(OBK_SRCS)littlefs/lfs_util.c
OBKM_SRC  += $(OBK_SRCS)littlefs/lfs.c
OBKM_SRC  += $(OBK_SRCS)littlefs/our_lfs.c

OBKM_SRC  += $(OBK_SRCS)driver/drv_main.c

OBKM_SRC  += $(OBK_SRCS)driver/drv_adcButton.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_adcSmoother.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_aht2x.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_battery.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bl0937.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bl0942.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bl_shared.c
#OBKM_SRC += $(OBK_SRCS)driver/drv_bmp280.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bmpi2c.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bp1658cj.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bp5758d.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_bridge_driver.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_chargingLimit.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_charts.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_cht8305.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_cse7761.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_cse7766.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ddp.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_debouncer.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_dht_internal.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_dht.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_drawers.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_doorSensorWithDeepSleep.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ds1820_common.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ds1820_simple.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ds1820_full.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_freeze.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_gn6932.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_hd2015.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_hgs02.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ht16k33.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_httpButtons.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_hue.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ir2.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_kp18058.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_kp18068.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_max6675.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_max72xx_clock.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_max72xx_internal.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_max72xx_single.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_mcp9808.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ntp.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ntp_events.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_openWeatherMap.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_pir.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_pixelAnim.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_pt6523.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_pwm_groups.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_pwmToggler.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_pwrCal.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_rn8209.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_sgp.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_shiftRegister.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_sht3x.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_sm15155e.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_sm16703P.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_leds_shared.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_sm2135.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_sm2235.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_soft_i2c.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_soft_spi.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_spi.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_spiLED.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_spi_flash.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_spidma.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ssdp.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tasmotaDeviceGroups.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tclAC.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_test.c
#OBKM_SRC += $(OBK_SRCS)driver/drv_test_charts.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_test_drivers.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_textScroller.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tm1637.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tm1638.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tm_gn_display_shared.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tuyaMCU.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_tuyaMCUSensor.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_uart.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_uart_tcp.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_ucs1912.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_wemo.c
OBKM_SRC  += $(OBK_SRCS)driver/drv_widget.c
OBKM_SRC  += $(OBK_SRCS)i2c/drv_i2c_ads1115.c
OBKM_SRC  += $(OBK_SRCS)i2c/drv_i2c_lcd_pcf8574t.c
OBKM_SRC  += $(OBK_SRCS)i2c/drv_i2c_main.c
OBKM_SRC  += $(OBK_SRCS)i2c/drv_i2c_mcp23017.c
OBKM_SRC  += $(OBK_SRCS)i2c/drv_i2c_tc74.c

OBKM_SRC_CXX += $(OBK_SRCS)driver/drv_ir.cpp
OBKM_SRC_CXX += $(OBK_SRCS)driver/drv_ir_new.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRac.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRproto.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRrecv.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRsend.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRtext.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRtimer.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/IRutils.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/String.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/digitalWriteFast.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Airton.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Airwell.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Aiwa.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Amcor.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Argo.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Arris.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Bosch.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Bose.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Carrier.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_ClimaButler.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Coolix.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Corona.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Daikin.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Delonghi.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Denon.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Dish.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Doshisha.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Ecoclim.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Electra.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_EliteScreens.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Epson.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Fujitsu.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_GICable.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_GlobalCache.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Goodweather.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Gorenje.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Gree.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Haier.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Hitachi.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Inax.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_JVC.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Kelon.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Kelvinator.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_LG.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Lasertag.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Lego.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Lutron.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_MWM.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Magiquest.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Metz.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Midea.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_MilesTag2.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Mirage.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Mitsubishi.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_MitsubishiHeavy.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Multibrackets.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_NEC.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Neoclima.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Nikai.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Panasonic.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Pioneer.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Pronto.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_RC5_RC6.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_RCMM.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Rhoss.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Samsung.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Sanyo.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Sharp.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Sherwood.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Sony.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Symphony.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Tcl.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Technibel.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Teco.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Teknopoint.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Toshiba.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Toto.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Transcold.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Trotec.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Truma.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Vestel.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Voltas.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Whirlpool.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Whynter.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Wowwee.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Xmp.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/ir_Zepeal.cpp
OBKM_SRC_CXX += $(OBK_SRCS)libraries/IRremoteESP8266/src/itoa.cpp
