make project (somewhat) presentable
This commit is contained in:
38
Makefile
38
Makefile
@@ -1,16 +1,38 @@
|
||||
lua_sources = $(wildcard src/*.lua) $(wildcard src/cli/*.lua) $(wildcard src/formats/*.lua) $(wildcard src/util/*.lua)
|
||||
c_sources = lib/main.c lib/http.c lib/fmt.c lib/zlib.c
|
||||
target = dst/slimpack
|
||||
lua_target = dst/slimpack.h
|
||||
# requires lua, curl and zlib (in the future, lua will be statically linked)
|
||||
libraries := -llua -lcurl -lz
|
||||
flags := -Wall
|
||||
|
||||
# lua is required in the build process, in order to compile the bytecode
|
||||
lua := lua
|
||||
cc := gcc
|
||||
|
||||
dst_dir = dst
|
||||
src_lua_dir = src
|
||||
src_c_dir = lib
|
||||
|
||||
# Uncomment to get debugging symbols
|
||||
# flags := -g
|
||||
|
||||
lua_sources += $(wildcard $(src_lua_dir)/*.lua)
|
||||
lua_sources += $(wildcard $(src_lua_dir)/cli/*.lua)
|
||||
lua_sources += $(wildcard $(src_lua_dir)/formats/*.lua)
|
||||
lua_sources += $(wildcard $(src_lua_dir)/util/*.lua)
|
||||
|
||||
c_sources = $(wildcard $(src_c_dir)/*.c)
|
||||
|
||||
build_entry = $(src_c_dir)/build.lua
|
||||
|
||||
target = $(dst_dir)/slimpack
|
||||
bytecode_target = $(dst_dir)/bytecode.h
|
||||
|
||||
.PHONY: build
|
||||
|
||||
build: $(target)
|
||||
|
||||
./dst:
|
||||
$(dst_dir):
|
||||
mkdir -p $@
|
||||
|
||||
$(lua_target): $(lua_sources) ./dst
|
||||
$(bytecode_target): $(lua_sources) $(dst_dir)
|
||||
lua lib/build.lua src $@ $(lua_sources)
|
||||
$(target): $(c_sources) $(lua_target) ./dst
|
||||
gcc -g -Wall -include $(lua_target) $(c_sources) -o $@ -llua -lcurl -lz -Wall
|
||||
$(target): $(c_sources) $(bytecode_target) $(dst_dir)
|
||||
gcc $(flags) $(libraries) -include $(bytecode_target) $(c_sources) -o $@
|
||||
|
||||
Reference in New Issue
Block a user