Skip to content

Commit 24af286

Browse files
committed
build: Pass OUTPUT_DIR as argument instead of hardcodi
Build scripts and tools previously used hardcoded paths or environment variables for the output directory (build/output), making it difficult to customize output locations and causing inconsistency across the build system. - Define OUTPUT_DIR in Makefile.unix and pass it to all sub-makes - mkbootparam.py, mksamsungheader.py, validate_output.py: require OUTPUT_DIR as mandatory argument - trap.py: require -o/--output-dir - mksmartfsimg.sh, g_var_profiler.sh: require OUTPUT_DIR as $1 or -d - dutils.sh: use fixed build/output (entry script, no user input) - Update build configs (bk7239n, rtl8720e, rtl8721csm, rtl8730e) to pass OUTPUT_DIR to mksamsungheader and mkbootparam
1 parent c0882aa commit 24af286

File tree

25 files changed

+127
-84
lines changed

25 files changed

+127
-84
lines changed

build/configs/bk7239n/Make.defs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,11 @@ SECURE_HEADER_SIZE=16
309309
endif
310310

311311
define MAKE_SAMSUNG_HEADER
312-
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE}
312+
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE} "$(OUTBIN_DIR)"
313313
endef
314314

315315
define MAKE_BOOTPARAM
316-
$(TOPDIR)/../os/tools/mkbootparam.py
316+
$(TOPDIR)/../os/tools/mkbootparam.py "$(OUTBIN_DIR)"
317317
$(TOPDIR)/../build/configs/bk7239n/bk7239n_post.sh
318318
endef
319319

build/configs/rtl8720e/Make.defs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,15 +232,15 @@ endef
232232
SECURE_HEADER_SIZE=32
233233

234234
define MAKE_SAMSUNG_HEADER
235-
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE}
235+
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE} "$(OUTBIN_DIR)"
236236
endef
237237

238238
define MAKE_USER_SIGNING
239239
$(TOPDIR)/../build/configs/rtl8720e/rtl8720e_signing.sh user
240240
endef
241241

242242
define MAKE_BOOTPARAM
243-
$(TOPDIR)/../os/tools/mkbootparam.py
243+
$(TOPDIR)/../os/tools/mkbootparam.py "$(OUTBIN_DIR)"
244244
endef
245245

246246
define DOWNLOAD

build/configs/rtl8721csm/Make.defs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,11 +290,11 @@ endef
290290
SECURE_HEADER_SIZE=32
291291

292292
define MAKE_SAMSUNG_HEADER
293-
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE}
293+
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE} "$(OUTBIN_DIR)"
294294
endef
295295

296296
define MAKE_BOOTPARAM
297-
$(TOPDIR)/../os/tools/mkbootparam.py
297+
$(TOPDIR)/../os/tools/mkbootparam.py "$(OUTBIN_DIR)"
298298
endef
299299

300300
define MAKE_USER_SIGNING

build/configs/rtl8730e/Make.defs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,15 +294,15 @@ endef
294294
SECURE_HEADER_SIZE=32
295295

296296
define MAKE_SAMSUNG_HEADER
297-
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE}
297+
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE} "$(OUTBIN_DIR)"
298298
endef
299299

300300
define MAKE_USER_SIGNING
301301
$(TOPDIR)/../build/configs/rtl8730e/rtl8730e_signing.sh user
302302
endef
303303

304304
define MAKE_BOOTPARAM
305-
$(TOPDIR)/../os/tools/mkbootparam.py
305+
$(TOPDIR)/../os/tools/mkbootparam.py "$(OUTBIN_DIR)"
306306
endef
307307

308308
define DOWNLOAD

docs/HowToPortTizenRTBinaryHeader.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,14 @@ User should define MAKE_SAMSUNG_HEADER for binary header support in build/config
5757
SECURE_HEADER_SIZE=xx
5858
5959
define MAKE_SAMSUNG_HEADER
60-
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE}
60+
$(TOPDIR)/../os/tools/mksamsungheader.py $(1) kernel ${SECURE_HEADER_SIZE} "$(OUTBIN_DIR)"
6161
endef
6262
```
6363
This parameters are as follows:
6464

6565
1. `$(1)` is source binary extension. This is used to import the source binary path in `mksamsungheader.py`, so we should fill it out as it is.
6666
2. `${SECURE_HEADER_SIZE}` is the size of the secure header. set a size as per board bootloader.
67+
3. `$(OUTBIN_DIR)` is the output binary directory (build/output/bin). Passed from Makefile.unix.
6768

6869

6970
The `MAKE_SAMSUNG_HEADER` is called after `MAKE_BOARD_SPECIFIC_BIN`. The binary name can be changed in `MAKE_BOARD_SPECIFIC_BIN`. So we manage kernel binary name using `board_metadata.txt`. The `mksamsungheader.py` gets kernel binary name from board_metadata.txt

lib/libc/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ $(BIN): $(OBJS)
138138
$(call ARCHIVE, $@, $(OBJS))
139139

140140
ifeq ($(CONFIG_LIBC_DOWNLOAD_ZONEINFO),y)
141-
$(Q) $(MAKE) -C zoneinfo all TOPDIR=$(TOPDIR)
141+
$(Q) $(MAKE) -C zoneinfo all TOPDIR=$(TOPDIR) OUTBIN_DIR="$(OUTBIN_DIR)"
142142
endif
143143

144144
# C library for the user phase of the two-pass kernel build
@@ -159,7 +159,7 @@ endif
159159

160160
context:
161161
ifeq ($(CONFIG_LIBC_DOWNLOAD_ZONEINFO),y)
162-
$(Q) $(MAKE) -C zoneinfo context TOPDIR=$(TOPDIR)
162+
$(Q) $(MAKE) -C zoneinfo context TOPDIR=$(TOPDIR) OUTBIN_DIR="$(OUTBIN_DIR)"
163163
endif
164164

165165

lib/libc/zoneinfo/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ checkgenromfs:
6868

6969
zoneinfo.img : checkgenromfs .tzbuilt
7070
@genromfs -f $@ -d $(TZBIN_PATH)/usr/share/zoneinfo -V "TZDatbase" || { echo "genromfs failed" ; exit 1 ; }
71-
$(Q) cp zoneinfo.img $(TOPDIR)/../build/output/bin
71+
$(Q) cp zoneinfo.img $(OUTBIN_DIR)
7272

7373
.romfs : zoneinfo.img
7474
$(Q) touch $@

loadable_apps/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
-include $(TOPDIR)/Make.defs
5454

5555
BUILDIRS := $(dir $(wildcard */Make.defs))
56-
OUTPUT_BIN_DIR = $(TOPDIR)/../build/output/bin
56+
5757
CONFIGURED =
5858

5959
define ADD_APPS
@@ -63,7 +63,7 @@ $(foreach BDIR, $(BUILDIRS), $(eval $(call ADD_APPS,$(BDIR))))
6363

6464
define DIR_template
6565
$(1)_$(2):
66-
$(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" LOADABLEDIR="${LOADABLEDIR}" USER_BIN_DIR="$(OUTPUT_BIN_DIR)" CROSSDEV=$(CROSSDEV)
66+
$(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" LOADABLEDIR="${LOADABLEDIR}" USER_BIN_DIR="$(OUTBIN_DIR)" CROSSDEV=$(CROSSDEV)
6767
endef
6868
$(foreach BDIR, $(CONFIGURED), $(eval $(call DIR_template,$(BDIR),context)))
6969
$(foreach BDIR, $(CONFIGURED), $(eval $(call DIR_template,$(BDIR),all)))

loadable_apps/loadable.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ include $(TOPDIR)/.config
2020
LINKLIBS = $(patsubst $(LIBRARIES_DIR)/%, %, $(USERLIBS))
2121
LDLIBS = $(patsubst %.a, %, $(patsubst lib%,-l%,$(LINKLIBS)))
2222

23-
TINYARALIB = "$(TOPDIR)/../build/output/libraries"
23+
TINYARALIB = "$(LIBRARIES_DIR)"
2424
USERSPACE = $(TOPDIR)/userspace/up_userspace
2525

2626
LDELFFLAGS += -Bstatic

os/LibTargets.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
# Possible kernel-mode builds
5959

6060
libc$(DELIM)libkc$(LIBEXT): context
61-
$(Q) $(MAKE) -C $(LIB_DIR)$(DELIM)libc TOPDIR="$(TOPDIR)" libkc$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE) BIN=libkc$(LIBEXT) BINDIR=kbin
61+
$(Q) $(MAKE) -C $(LIB_DIR)$(DELIM)libc TOPDIR="$(TOPDIR)" OUTBIN_DIR="$(OUTBIN_DIR)" libkc$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE) BIN=libkc$(LIBEXT) BINDIR=kbin
6262

6363
$(LIBRARIES_DIR)$(DELIM)libkc$(LIBEXT): libc$(DELIM)libkc$(LIBEXT)
6464
$(Q) install $(LIB_DIR)$(DELIM)libc$(DELIM)libkc$(LIBEXT) $(LIBRARIES_DIR)$(DELIM)libkc$(LIBEXT)
@@ -160,7 +160,7 @@ $(LIBRARIES_DIR)$(DELIM)libstubs$(LIBEXT): syscall$(DELIM)libstubs$(LIBEXT)
160160
# Possible user-mode builds
161161

162162
libc$(DELIM)libuc$(LIBEXT): context
163-
$(Q) $(MAKE) -C $(LIB_DIR)$(DELIM)libc TOPDIR="$(TOPDIR)" libuc$(LIBEXT) KERNEL=n BIN=libuc$(LIBEXT) BINDIR=ubin
163+
$(Q) $(MAKE) -C $(LIB_DIR)$(DELIM)libc TOPDIR="$(TOPDIR)" OUTBIN_DIR="$(OUTBIN_DIR)" libuc$(LIBEXT) KERNEL=n BIN=libuc$(LIBEXT) BINDIR=ubin
164164

165165
$(LIBRARIES_DIR)$(DELIM)libuc$(LIBEXT): libc$(DELIM)libuc$(LIBEXT)
166166
$(Q) install $(LIB_DIR)$(DELIM)libc$(DELIM)libuc$(LIBEXT) $(LIBRARIES_DIR)$(DELIM)libuc$(LIBEXT)
@@ -251,7 +251,7 @@ endif
251251
# Possible non-kernel builds
252252

253253
libc$(DELIM)libc$(LIBEXT): context
254-
$(Q) $(MAKE) -C $(LIB_DIR)$(DELIM)libc TOPDIR="$(TOPDIR)" libc$(LIBEXT)
254+
$(Q) $(MAKE) -C $(LIB_DIR)$(DELIM)libc TOPDIR="$(TOPDIR)" OUTBIN_DIR="$(OUTBIN_DIR)" libc$(LIBEXT)
255255

256256
$(LIBRARIES_DIR)$(DELIM)libc$(LIBEXT): libc$(DELIM)libc$(LIBEXT)
257257
$(Q) install $(LIB_DIR)$(DELIM)libc$(DELIM)libc$(LIBEXT) $(LIBRARIES_DIR)$(DELIM)libc$(LIBEXT)

0 commit comments

Comments
 (0)