Boot framework rework (#45)
[lunaix-os.git] / lunaix-os / usr / libc / makefile
index 3d976cb7a0685a92605e0969cb917c3fd438e70a..0c03770226d4a59d63f19b0bf67e0d6cbe7b5700 100644 (file)
@@ -1,23 +1,24 @@
+include lunabuild.mkinc
+
+include $(lbuild_mkinc)
+
 libc_include := $(CURDIR)/includes
 
-ARCH ?= i386
 BUILD_DIR ?= bin
 BUILD_NAME ?= liblunac
 
 src_dirs := src
 src_dirs += arch/$(ARCH)
 
-src_files := $(foreach f, $(src_dirs), $(shell find $(f) -name "*.[cS]"))
-obj_files := $(addsuffix .o, $(src_files))
+obj_files := $(addsuffix .o, $(_LBUILD_SRCS))
 
 build_lib := $(BUILD_DIR)/lib
-build_include := $(BUILD_DIR)/includes
 
 libc_include_opt = $(addprefix -I, $(libc_include))
-global_include_opt = $(addprefix -I, $(INCLUDES))
+global_include_opt = $(addprefix -I, $(INCLUDES) $(_LBUILD_INCS))
 
 check_folders := $(src_dirs)
-check_folders += $(build_lib) $(build_include)
+check_folders += $(build_lib) $(LIBC_INCLUDE)
 
 $(BUILD_DIR):
        @mkdir -p bin
@@ -32,19 +33,20 @@ $(BUILD_DIR):
        @$(CC) $(CFLAGS) $(libc_include_opt) $(global_include_opt) -c $< -o $@
 
 %.S.o: %.S
-       @$(call status_,CC,$@)
-       @$(CC) $(libc_include_opt) $(global_include_opt) -c $< -o $@
+       @$(call status_,AS,$@)
+       @$(CC) $(CFLAGS) $(libc_include_opt) $(global_include_opt) -c $< -o $@
 
 $(build_lib)/$(BUILD_NAME): $(obj_files)
        @$(call status_,AR,$(*F))
        @$(AR) rcs $@ $^
 
 clean:
+       @rm -rf $(lbuild_dir)
        @rm -f $(obj_files)
 
 headers: $(libc_include)
        @$(call status_,INSTALL,$(<F))
-       @cp -r $(libc_include)/* $(build_include)/
+       @cp -r $(libc_include)/* $(LIBC_INCLUDE)/
 
 all: $(addsuffix .check, $(check_folders)) $(build_lib)/$(BUILD_NAME) headers
        @cp arch/$(ARCH)/crt0.S.o $(build_lib)/crt0.o
\ No newline at end of file