diff --git a/cjson/.gitignore b/cjson/.gitignore new file mode 100644 index 0000000..904fe7c --- /dev/null +++ b/cjson/.gitignore @@ -0,0 +1 @@ +cjson* diff --git a/cjson/Makefile b/cjson/Makefile index ff5f5ab..1b69237 100644 --- a/cjson/Makefile +++ b/cjson/Makefile @@ -1,12 +1,22 @@ -CC ?= gcc -CFLAGS ?= -Wall -O2 -lcjson +CC ?= cc +CFLAGS ?= -Wall -O2 -I. +LDFLAGS ?= TARGET = main.elf -SRC = main.c +SRC = main.c ./cjson/cJSON.c $(TARGET): $(SRC) @echo CC $@ @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) +CJSON_URL = https://github.com/DaveGamble/cJSON/archive/refs/heads/master.tar.gz +CJSON_TAR = cjson.tar.gz +CJSON_DIR = cJSON-master + +cjson: + curl -L $(CJSON_URL) -o $(CJSON_TAR) + tar -xzf $(CJSON_TAR) + mv ./cJSON-master ./cjson + clean: rm -f $(TARGET) diff --git a/cjson/main.c b/cjson/main.c index 30c5d87..e54004b 100644 --- a/cjson/main.c +++ b/cjson/main.c @@ -1,5 +1,6 @@ -#include +#include "cjson/cJSON.h" #include +#include char *build_set_level_command(int level) { cJSON *root = cJSON_CreateObject(); @@ -9,10 +10,12 @@ char *build_set_level_command(int level) { // char *message = cJSON_PrintUnformatted(root); char *msg2 = cJSON_Print(root); cJSON_Delete(root); - return msg2; // Remember to free this when done! + return msg2; } int main(void) { - printf("%s\n", build_set_level_command(10)); + char *msg = build_set_level_command(10); + printf("%s\n", msg); + free(msg); return 0; }