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
|
$(BINODIR)/%.bin: $(IMAGEODIR)/%.out
|
||||||
@mkdir -p $(BINODIR)
|
@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)
|
$(ESPTOOL) elf2image --flash_mode dio --flash_freq 40m $< -o $(FIRMWAREDIR)
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
10
app/Makefile
10
app/Makefile
|
@ -48,7 +48,8 @@ SUBDIRS= \
|
||||||
websocket \
|
websocket \
|
||||||
swTimer \
|
swTimer \
|
||||||
misc \
|
misc \
|
||||||
pm \
|
pm \
|
||||||
|
sjson \
|
||||||
|
|
||||||
|
|
||||||
endif # } PDIR
|
endif # } PDIR
|
||||||
|
@ -94,14 +95,15 @@ COMPONENTS_eagle.app.v6 = \
|
||||||
dhtlib/libdhtlib.a \
|
dhtlib/libdhtlib.a \
|
||||||
tsl2561/tsl2561lib.a \
|
tsl2561/tsl2561lib.a \
|
||||||
http/libhttp.a \
|
http/libhttp.a \
|
||||||
pm/libpm.a \
|
pm/libpm.a \
|
||||||
websocket/libwebsocket.a \
|
websocket/libwebsocket.a \
|
||||||
esp-gdbstub/libgdbstub.a \
|
esp-gdbstub/libgdbstub.a \
|
||||||
net/libnodemcu_net.a \
|
net/libnodemcu_net.a \
|
||||||
mbedtls/libmbedtls.a \
|
mbedtls/libmbedtls.a \
|
||||||
modules/libmodules.a \
|
modules/libmodules.a \
|
||||||
swTimer/libswtimer.a \
|
swTimer/libswtimer.a \
|
||||||
misc/libmisc.a \
|
misc/libmisc.a \
|
||||||
|
sjson/libsjson.a \
|
||||||
|
|
||||||
|
|
||||||
# Inspect the modules library and work out which modules need to be linked.
|
# Inspect the modules library and work out which modules need to be linked.
|
||||||
|
|
|
@ -11,10 +11,8 @@
|
||||||
#include "c_limits.h"
|
#include "c_limits.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define JSONSL_STATE_USER_FIELDS int lua_object_ref; int used_count;
|
#include "json_config.h"
|
||||||
#define JSONSL_NO_JPR
|
#include "jsonsl.h"
|
||||||
|
|
||||||
#include "jsonsl.c"
|
|
||||||
|
|
||||||
#define LUA_SJSONLIBNAME "sjson"
|
#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