#!/bin/bash

CC=clang
CFLAGS="-g -Wall -Werror -pedantic -I./include"
SRC="./src/main.c"
OUT=./main

# STATE_TABLE
(set -x;$CC $CFLAGS -I./include/lexer ./generate_state_table.c -o ./gentable)
./gentable

# DSTRING
CFLAGS+=" -I./include/dstring"
SRC+=" ./src/dstring/*.c"

# JSON_ENTITIES
CFLAGS+=" -I./include/json_entities"
SRC+=" ./src/json_entities/*.c"

# LEXER
CFLAGS+=" -I./include/lexer"
SRC+=" ./src/lexer/*.c"

# PARSER
CFLAGS+=" -I./include/parser"
SRC+=" ./src/parser/*.c"

(set -x;$CC $CFLAGS $SRC -o $OUT)