Browse Source

Kbuild: Output files at outdir directory.

This commit enables the outdir directory.
Kbuild output files will be generated at the outdir directory
inside the project directory.

Change-Id: Icec04aca1753326c9d50dea20c71850c1d8c3dd0
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
pull/255/head
Juan Manuel Cruz 10 years ago committed by Anas Nashif
parent
commit
988236f2b9
  1. 40
      Makefile.inc
  2. 2
      samples/microkernel/benchmark/app_kernel/src/Makefile
  3. 2
      samples/microkernel/benchmark/sys_kernel/Makefile
  4. 4
      scripts/Makefile.preparch
  5. 6
      scripts/sanity_chk/common.defs
  6. 2
      scripts/sanity_chk/footprint_chk

40
Makefile.inc

@ -1,7 +1,7 @@
PROJECT_BASE ?= $(shell pwd) PROJECT_BASE ?= $(shell pwd)
ARCH?=x86 ARCH?=x86
export ARCH VPFILE QEMU_EXTRA_FLAGS export ARCH VPFILE QEMU_EXTRA_FLAGS PROJECT_BASE
ifdef BSP_VARIANT ifdef BSP_VARIANT
VARIANT_STR=_$(BSP_VARIANT) VARIANT_STR=_$(BSP_VARIANT)
@ -25,21 +25,19 @@ SOURCE_DIR=$(PROJECT_BASE)/src/
export SOURCE_DIR export SOURCE_DIR
endif endif
O ?= $(PROJECT_BASE)/outdir
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \ else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi) else echo sh; fi ; fi)
all: $(CONFIG_DEPS) all: $(CONFIG_DEPS) $(O)/.dir
$(Q)$(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \ $(Q)$(MAKE) -C $(TIMO_BASE) O=$(O) \
PROJECT=$(PROJECT_BASE) SOURCE_DIR=$(SOURCE_DIR) CFLAGS=$(CFLAGS) PROJECT=$(PROJECT_BASE) SOURCE_DIR=$(SOURCE_DIR) CFLAGS=$(CFLAGS)
rm-files:= final-linker.cmd linker.cmd modules.order \ rm-files:= .config
staticIdt.o System.map *kernel.lnk \
*kernel.map *kernel.elf qemu.pid \
.tinymountain.cmd
rm-objects:= *.o rm-objects:= *.o
rm-dirs := arch drivers include kernel lib misc \ rm-dirs := $(O)
scripts source net .tmp_versions
cmd_clean_inner_files = \ cmd_clean_inner_files = \
$(shell cd $(PROJECT_BASE);rm $(rm-files) -f; rm $(rm-dirs) -rf) $(shell cd $(PROJECT_BASE);rm $(rm-files) -f; rm $(rm-dirs) -rf)
@ -61,25 +59,30 @@ mrproper: FORCE
$(Q)$(MAKE) -C $(TIMO_BASE) \ $(Q)$(MAKE) -C $(TIMO_BASE) \
PROJECT=$(PROJECT_BASE) mrproper PROJECT=$(PROJECT_BASE) mrproper
%config: FORCE %config: $(O)/.dir FORCE
$(Q)$(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \ $(Q)$(MAKE) -C $(TIMO_BASE) O=$(O) \
PROJECT=$(PROJECT_BASE) $@ PROJECT=$(PROJECT_BASE) $@
qemu: $(CONFIG_DEPS) qemu: $(CONFIG_DEPS) $(O)/.dir
$(Q)$(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \ $(Q)$(MAKE) -C $(TIMO_BASE) O=$(O) \
PROJECT=$(PROJECT_BASE) SOURCE_DIR=$(SOURCE_DIR) qemu PROJECT=$(PROJECT_BASE) SOURCE_DIR=$(SOURCE_DIR) CFLAGS=$(CFLAGS) qemu
initconfig: initconfig: $(O)/.dir
set -e; set -e;
$(Q)test -s .config || $(Q) $(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \ $(Q)test -s $(O)/.config || $(Q) $(MAKE) -C $(TIMO_BASE) O=$(O) \
PROJECT=$(PROJECT_BASE) defconfig PROJECT=$(PROJECT_BASE) defconfig
ifneq (($strip $(CONF_FILE)),) ifneq (($strip $(CONF_FILE)),)
$(Q)$(CONFIG_SHELL) $(TIMO_BASE)/scripts/kconfig/merge_config.sh \ $(Q)$(CONFIG_SHELL) $(TIMO_BASE)/scripts/kconfig/merge_config.sh \
-m -O $(PROJECT_BASE) $(PROJECT_BASE)/.config $(CONF_FILE) -m -O $(O) $(O)/.config $(CONF_FILE)
endif endif
$(Q)yes "" | $(MAKE) -C $(TIMO_BASE) O=$(PROJECT_BASE) \ $(Q)yes "" | $(MAKE) -C $(TIMO_BASE) O=$(O) \
PROJECT=$(PROJECT_BASE) oldconfig PROJECT=$(PROJECT_BASE) oldconfig
%/.dir:
set -e;
$(Q)test -s $(abspath $(dir $@)) || $(Q)mkdir $(abspath $(dir $@))
@touch $@
help: help:
$(Q)$(MAKE) -C $(TIMO_BASE) help $(Q)$(MAKE) -C $(TIMO_BASE) help
@ -87,3 +90,4 @@ PHONY += FORCE clean mrproper
FORCE: FORCE:
.PHONY: $(PHONY) .PHONY: $(PHONY)
.PRECIOUS: %/.dir

2
samples/microkernel/benchmark/app_kernel/src/Makefile

@ -1,5 +1,5 @@
EXTRA_CFLAGS += -I$(CURDIR)/misc/generated/nodes EXTRA_CFLAGS += -I$(CURDIR)/misc/generated/nodes
EXTRA_CFLAGS += -I$(CURDIR)/../latency_measure/src EXTRA_CFLAGS += -I$(CURDIR)/../../latency_measure/src
obj-y := fifo_b.o mailbox_b.o master.o mempool_b.o \ obj-y := fifo_b.o mailbox_b.o master.o mempool_b.o \
nop_b.o pipe_r.o sema_r.o event_b.o \ nop_b.o pipe_r.o sema_r.o event_b.o \

2
samples/microkernel/benchmark/sys_kernel/Makefile

@ -1,7 +1,7 @@
PC8253_BSP_VARIANTS=generic_pc pentium4 minuteia PC8253_BSP_VARIANTS=generic_pc pentium4 minuteia
BSP ?= generic_pc BSP ?= generic_pc
VPFILE = $(TIMO_BASE)/samples/microkernel/benchmark/sys_kernel/prj.vpf VPFILE = prj.vpf
KERNEL_TYPE = micro KERNEL_TYPE = micro
CONF_FILE = prj_console_$(if $(filter $(BSP),$(PC8253_BSP_VARIANTS)),pc8253,generic).conf CONF_FILE = prj_console_$(if $(filter $(BSP),$(PC8253_BSP_VARIANTS)),pc8253,generic).conf
SOURCE_DIR = $(TIMO_BASE)/samples/nanokernel/benchmark/sys_kernel/src/ SOURCE_DIR = $(TIMO_BASE)/samples/nanokernel/benchmark/sys_kernel/src/

4
scripts/Makefile.preparch

@ -28,13 +28,13 @@ define filechk_prj.vpf
i=$$(($$i+1));\ i=$$(($$i+1));\
done; \ done; \
fi; \ fi; \
cat $(VPFILE); \ cat $(PROJECT_BASE)/$(VPFILE); \
cat $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf;) cat $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf;)
endef endef
#Specific source code generation for Viper #Specific source code generation for Viper
misc/generated/nodes/prj.vpf: $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf \ misc/generated/nodes/prj.vpf: $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf \
$(VPFILE) \ $(PROJECT_BASE)/$(VPFILE) \
include/config/auto.conf FORCE include/config/auto.conf FORCE
$(call filechk,prj.vpf) $(call filechk,prj.vpf)

6
scripts/sanity_chk/common.defs

@ -352,7 +352,7 @@ build_project() {
[ $? -eq 0 ] || fail_exit $? $FUNCNAME $LINENO [ $? -eq 0 ] || fail_exit $? $FUNCNAME $LINENO
if [ x$2 == x ] ; then if [ x$2 == x ] ; then
elf_name=`${LS} ${PRJ_TYPE[$1]}.elf` elf_name=`${LS} outdir/${PRJ_TYPE[$1]}.elf`
[ x${elf_name} != "x" ] || \ [ x${elf_name} != "x" ] || \
fail_exit $? $FUNCNAME $LINENO "couldn't build ${proj_name}" fail_exit $? $FUNCNAME $LINENO "couldn't build ${proj_name}"
fi fi
@ -408,12 +408,12 @@ qemu_project() {
# get QEMU's pid # get QEMU's pid
# (wait for QEMU process to be spawned by examining list of tasks # (wait for QEMU process to be spawned by examining list of tasks
# associated with this script's terminal, then grab the pid) # associated with this script's terminal, then grab the pid)
while ! [ -f qemu.pid ] while ! [ -f outdir/qemu.pid ]
do do
${SLEEP} 1 ${SLEEP} 1
done done
qemu_pid=$(<qemu.pid) qemu_pid=$(<outdir/qemu.pid)
# assume execution will fail # assume execution will fail
let RESULT=1 let RESULT=1

2
scripts/sanity_chk/footprint_chk

@ -243,7 +243,7 @@ main() {
${ECHO} "target: ${BSP_INFO[${cur_proj}]}" ${ECHO} "target: ${BSP_INFO[${cur_proj}]}"
${ECHO} "arguments: ${PRJ_ARGS[$cur_proj]}" ${ECHO} "arguments: ${PRJ_ARGS[$cur_proj]}"
${ECHO} ${ECHO}
${SIZE} *.elf ${SIZE} outdir/*.elf
${ECHO} ${ECHO}
fi fi
done done

Loading…
Cancel
Save