Rewrite the lunabuild toolchain with enhanced feature (#60)
[lunaix-os.git] / lunaix-os / usr / makefile
index a69500f2f728949c2b4c9ec3dfd1e8e853034421..8fa1c316e75ba6d076e9e4ab4546f594849d4322 100644 (file)
@@ -1,8 +1,6 @@
 include utils.mkinc
 include toolchain.mkinc
 
-LCONFIG_FLAGS := --quiet
-
 include lunabuild.mkinc
 
 include $(lbuild_mkinc)
@@ -11,6 +9,9 @@ ifndef ARCH
 $(error ARCH is not set)
 endif
 
+CFLAGS += $(BUILD_CFLAGS)
+LDFLAGS += $(BUILD_LDFLAGS)
+
 task := all
 
 sys_include := $(CURDIR)/includes
@@ -20,14 +21,16 @@ libc_files := $(libc_name).a
 libc := $(addprefix $(build_dir)/lib/,$(libc_files))
 
 common_param :=        CC AR INCLUDES BUILD_DIR BUILD_NAME\
-                               CFLAGS LDFLAGS ARCH LBUILD
+                               CFLAGS LDFLAGS ARCH LBUILD LIBC_INCLUDE
 
 INCLUDES := $(sys_include)
 BUILD_DIR := $(build_dir)
 BUILD_NAME := $(libc_name).a
 
+LIBC_INCLUDE := $(build_dir)/usr/includes
+
 mkapp-list := $(addprefix app-, $(shell cat apps.list))
-mkexec-list := $(addprefix $(build_dir)/bin/, $(_LBUILD_SRCS))
+mkexec-list := $(addprefix $(build_dir)/bin/, $(BUILD_SRCS))
 
 uexec_ld := $(CURDIR)/uexec.ld
 
@@ -38,17 +41,18 @@ $(build_dir)/bin:
 $(build_dir)/lib:
        @mkdir -p $(build_dir)/lib
 
-$(build_dir)/includes:
-       @mkdir -p $(build_dir)/includes
+$(LIBC_INCLUDE):
+       @mkdir -p $(LIBC_INCLUDE)
 
 # LibC
 export $(common_param)
-$(build_dir)/$(libc_name).a: $(build_dir)/bin $(build_dir)/lib $(build_dir)/includes
+$(build_dir)/$(libc_name).a: $(build_dir)/bin \
+                                                        $(build_dir)/lib $(LIBC_INCLUDE)
        $(call status,TASK,$(BUILD_NAME))
        @$(MAKE) $(MKFLAGS) -C libc/ $(task)
 
 $(uexec_ld): $(uexec_ld)x
-       @$(CC) -include $(lbuild_config_h) -x c -P -E $< -o $@
+       @$(CC) $(CFLAGS) -x c -P -E $< -o $@
 
 # Application (with standalone makefile)
 export LD_SCRIPT := $(uexec_ld)
@@ -59,7 +63,7 @@ app-%: $(uexec_ld)
        @$(MAKE) $(MKFLAGS) -C $* $(task) BUILD_NAME="$*"
 
 app: task := all
-app: INCLUDES += $(build_dir)/includes
+app: INCLUDES += $(LIBC_INCLUDE)
 app: $(mkapp-list)
 
 
@@ -73,7 +77,7 @@ $(build_dir)/bin/%: exec_%.o $(uexec_ld)
        @$(CC) -T $(uexec_ld) -o $@ $< $(libc) $(LDFLAGS)
 
 exec: task := all
-exec: INCLUDES += $(build_dir)/includes
+exec: INCLUDES += $(LIBC_INCLUDE)
 exec: $(mkexec-list)