Cleaned up sjson module build.
- Move jsonsl build to regular library build rather than #include the .c file - Provide wrappers for malloc/calloc/free to fix undefined symbol warnings.
This commit is contained in:
parent
2061167bd9
commit
ea4d33715f
2
Makefile
2
Makefile
|
@ -188,7 +188,7 @@ endef
|
|||
|
||||
$(BINODIR)/%.bin: $(IMAGEODIR)/%.out
|
||||
@mkdir -p $(BINODIR)
|
||||
@$(NM) $< | grep -w U && { echo "Firmware has unresolved (but unused) symbols - should be fixed nevertheless!"; exit 1; } || true
|
||||
@$(NM) $< | grep -w U && { echo "Firmware has undefined (but unused) symbols!"; exit 1; } || true
|
||||
$(ESPTOOL) elf2image --flash_mode dio --flash_freq 40m $< -o $(FIRMWAREDIR)
|
||||
|
||||
#############################################################
|
||||
|
|
|
@ -49,6 +49,7 @@ SUBDIRS= \
|
|||
swTimer \
|
||||
misc \
|
||||
pm \
|
||||
sjson \
|
||||
|
||||
|
||||
endif # } PDIR
|
||||
|
@ -102,6 +103,7 @@ COMPONENTS_eagle.app.v6 = \
|
|||
modules/libmodules.a \
|
||||
swTimer/libswtimer.a \
|
||||
misc/libmisc.a \
|
||||
sjson/libsjson.a \
|
||||
|
||||
|
||||
# Inspect the modules library and work out which modules need to be linked.
|
||||
|
|
|
@ -11,10 +11,8 @@
|
|||
#include "c_limits.h"
|
||||
#endif
|
||||
|
||||
#define JSONSL_STATE_USER_FIELDS int lua_object_ref; int used_count;
|
||||
#define JSONSL_NO_JPR
|
||||
|
||||
#include "jsonsl.c"
|
||||
#include "json_config.h"
|
||||
#include "jsonsl.h"
|
||||
|
||||
#define LUA_SJSONLIBNAME "sjson"
|
||||
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
#############################################################
|
||||
# Required variables for each makefile
|
||||
# Discard this section from all parent makefiles
|
||||
# Expected variables (with automatic defaults):
|
||||
# CSRCS (all "C" files in the dir)
|
||||
# SUBDIRS (all subdirs with a Makefile)
|
||||
# GEN_LIBS - list of libs to be generated ()
|
||||
# GEN_IMAGES - list of images to be generated ()
|
||||
# COMPONENTS_xxx - a list of libs/objs in the form
|
||||
# subdir/lib to be extracted and rolled up into
|
||||
# a generated lib/image xxx.a ()
|
||||
#
|
||||
ifndef PDIR
|
||||
GEN_LIBS = libsjson.a
|
||||
endif
|
||||
|
||||
STD_CFLAGS=-std=gnu11 -Wimplicit
|
||||
|
||||
#############################################################
|
||||
# Configuration i.e. compile options etc.
|
||||
# Target specific stuff (defines etc.) goes in here!
|
||||
# Generally values applying to a tree are captured in the
|
||||
# makefile at its root level - these are then overridden
|
||||
# for a subtree within the makefile rooted therein
|
||||
#
|
||||
DEFINES += -include memcompat.h -include json_config.h
|
||||
|
||||
#############################################################
|
||||
# Recursion Magic - Don't touch this!!
|
||||
#
|
||||
# Each subtree potentially has an include directory
|
||||
# corresponding to the common APIs applicable to modules
|
||||
# rooted at that subtree. Accordingly, the INCLUDE PATH
|
||||
# of a module can only contain the include directories up
|
||||
# its parent path, and not its siblings
|
||||
#
|
||||
# Required for each makefile to inherit from the parent
|
||||
#
|
||||
|
||||
INCLUDES := $(INCLUDES) -I $(PDIR)include
|
||||
INCLUDES += -I ./
|
||||
INCLUDES += -I ./include
|
||||
INCLUDES += -I ../include
|
||||
INCLUDES += -I ../../include
|
||||
PDIR := ../$(PDIR)
|
||||
sinclude $(PDIR)Makefile
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef __JSON_CONFIG_H__
|
||||
#define __JSON_CONFIG_H__
|
||||
|
||||
#define JSONSL_STATE_USER_FIELDS int lua_object_ref; int used_count;
|
||||
#define JSONSL_NO_JPR
|
||||
|
||||
#endif
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef __MEMCOMPAT_H__
|
||||
#define __MEMCOMPAT_H__
|
||||
|
||||
#include "c_types.h"
|
||||
#include "mem.h"
|
||||
|
||||
static inline void *malloc(size_t sz) { return os_malloc(sz); }
|
||||
static inline void free(void *p) { return os_free(p); }
|
||||
static inline void *calloc(size_t n, size_t sz) { return os_zalloc(n*sz); }
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue