taler-xotp_fw

xOTP generator firmware
Log | Files | Refs | Submodules | README

xtotp_app.make (1819B)


      1 # Makefile base for xtotp-base-firmware
      2 # Include this file with
      3 # base-firmware relative path to base project
      4 XTOTP_BASE_SOURCE_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
      5 # Logger options
      6 LOGGER_LEVEL ?= 0
      7 # Current time
      8 CURRENT_TIME := $(shell date +'%s')
      9 # Version.h file in this directory to be fix included and not versioned
     10 VERSION_H := $(XTOTP_BASE_SOURCE_DIR)/version.h
     11 
     12 XTOTP_C_ARGS = -DLOGGER_LEVEL=$(LOGGER_LEVEL)
     13 XTOTP_LDFLAGS = 
     14 
     15 # Module paths
     16 LIB_ORIG_DIR := ../third_party/
     17 
     18 PBM_LIB_DIR := $(XTOTP_BASE_SOURCE_DIR)/$(LIB_ORIG_DIR)/pbmLib
     19 TINYTIME_LIB_DIR := $(XTOTP_BASE_SOURCE_DIR)/$(LIB_ORIG_DIR)/tinytime
     20 BASEX_LIB_DIR := $(XTOTP_BASE_SOURCE_DIR)/$(LIB_ORIG_DIR)/baseX-Converter
     21 
     22 XTOTP_C_SOURCES = \
     23 	$(wildcard $(XTOTP_BASE_SOURCE_DIR)/app/src/*.c) \
     24 	$(wildcard $(XTOTP_BASE_SOURCE_DIR)/interfaces/src/*.c) \
     25 	$(wildcard $(XTOTP_BASE_SOURCE_DIR)/utils/src/*.c) \
     26 	$(PBM_LIB_DIR)/src/pbm_graphics.c \
     27 	$(wildcard $(TINYTIME_LIB_DIR)/src/*.c) \
     28 	$(wildcard $(BASEX_LIB_DIR)/src/*.c) 
     29 
     30 XTOTP_C_INC = \
     31 	-I$(XTOTP_BASE_SOURCE_DIR)/app/inc \
     32 	-I$(XTOTP_BASE_SOURCE_DIR)/interfaces/inc \
     33 	-I$(XTOTP_BASE_SOURCE_DIR)/utils/inc \
     34 	-I$(PBM_LIB_DIR)/inc \
     35 	-I$(TINYTIME_LIB_DIR)/inc \
     36 	-I$(BASEX_LIB_DIR)/inc \
     37 	-I$(XTOTP_BASE_SOURCE_DIR)
     38 
     39 .PHONY: all FORCE
     40 
     41 all: $(VERSION_H)
     42 
     43 $(VERSION_H): FORCE
     44 	@$(Q)echo "-- -- -- -- -- -- -- -- -- -- --"
     45 	@$(Q)echo "-- Firmware Version Extractor --"
     46 	@$(Q)echo "-- -- -- -- -- -- -- -- -- -- --"
     47 	@$(Q)echo "#pragma once" > $@
     48 	@$(Q)echo "#define FIRMWARE_VERSION \"$(shell git describe --always --dirty --tags)\"" >> $@
     49 	@$(Q)git log --pretty=format:'#define FIRMWARE_DATE "%cs"' -n 1 >> $@
     50 	@$(Q)echo "\n#define FIRMWARE_COMPILE_TIME $(CURRENT_TIME)" >> $@
     51 	@$(Q)echo "\n Version symboles defined and\n placed in \"$@\" file."
     52 
     53 .PHONY: FORCE
     54 FORCE: