1 include lunabuild.mkinc
3 include $(lbuild_mkinc)
5 libc_include := $(CURDIR)/includes
11 src_dirs += arch/$(ARCH)
13 obj_files := $(addsuffix .o, $(_LBUILD_SRCS))
15 build_lib := $(BUILD_DIR)/lib
17 libc_include_opt = $(addprefix -I, $(libc_include))
18 global_include_opt = $(addprefix -I, $(INCLUDES) $(_LBUILD_INCS))
20 check_folders := $(src_dirs)
21 check_folders += $(build_lib) $(LIBC_INCLUDE)
27 @if [ ! -d "$*" ]; then \
28 echo "'$*' is not exists" && exit 1;\
32 @$(call status_,CC,$@)
33 @$(CC) $(CFLAGS) $(libc_include_opt) $(global_include_opt) -c $< -o $@
36 @$(call status_,AS,$@)
37 @$(CC) $(CFLAGS) $(libc_include_opt) $(global_include_opt) -c $< -o $@
39 $(build_lib)/$(BUILD_NAME): $(obj_files)
40 @$(call status_,AR,$(*F))
47 headers: $(libc_include)
48 @$(call status_,INSTALL,$(<F))
49 @cp -r $(libc_include)/* $(LIBC_INCLUDE)/
51 all: $(addsuffix .check, $(check_folders)) $(build_lib)/$(BUILD_NAME) headers
52 @cp arch/$(ARCH)/crt0.S.o $(build_lib)/crt0.o