Merge branch 'for-next/defaultenv-deps'
This commit is contained in:
commit
90d92b359d
2
Makefile
2
Makefile
|
@ -1029,7 +1029,7 @@ endif # CONFIG_MODULES
|
|||
CLEAN_DIRS += $(MODVERDIR)
|
||||
CLEAN_FILES += barebox System.map include/generated/barebox_default_env.h \
|
||||
.tmp_version .tmp_barebox* barebox.bin barebox.map barebox.S \
|
||||
.tmp_kallsyms* barebox_default_env* barebox.ldr \
|
||||
.tmp_kallsyms* common/barebox_default_env* barebox.ldr \
|
||||
scripts/bareboxenv-target barebox-flash-image \
|
||||
Doxyfile.version barebox.srec barebox.s5p barebox.ubl \
|
||||
barebox.uimage barebox.spi
|
||||
|
|
|
@ -39,6 +39,7 @@ obj-$(CONFIG_PASSWORD) += password.o
|
|||
obj-$(CONFIG_MODULES) += module.o
|
||||
obj-$(CONFIG_FLEXIBLE_BOOTARGS) += bootargs.o
|
||||
extra-$(CONFIG_MODULES) += module.lds
|
||||
extra-y += barebox_default_env
|
||||
|
||||
ifdef CONFIG_DEFAULT_ENVIRONMENT
|
||||
$(obj)/startup.o: include/generated/barebox_default_env.h
|
||||
|
@ -63,8 +64,19 @@ ENV_FILES := $(shell cd $(srctree); for i in $(DEFAULT_ENVIRONMENT_PATH); do fin
|
|||
|
||||
endif # ifdef CONFIG_DEFAULT_ENVIRONMENT
|
||||
|
||||
barebox_default_env: $(ENV_FILES)
|
||||
$(Q)$(srctree)/scripts/genenv $(srctree) $(objtree) $(DEFAULT_ENVIRONMENT_PATH)
|
||||
#
|
||||
# Generate a barebox envfs image.
|
||||
#
|
||||
# echo $(ENV_FILES) > /dev/null is just for letting if_changed
|
||||
# recognize that something has changed when the environment has
|
||||
# other files,
|
||||
#
|
||||
quiet_cmd_env = ENV $@
|
||||
cmd_env = ($(srctree)/scripts/genenv $(srctree) $(objtree) $@ $(DEFAULT_ENVIRONMENT_PATH)) || \
|
||||
(echo $(ENV_FILES) > /dev/null; rm -f $@ ; false)
|
||||
|
||||
$(obj)/barebox_default_env: $(ENV_FILES) FORCE
|
||||
$(call if_changed,env)
|
||||
|
||||
barebox_default_env_comp =
|
||||
ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_COMPRESSED_GZIP),y)
|
||||
|
@ -77,22 +89,18 @@ ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_COMPRESSED_LZO),y)
|
|||
barebox_default_env_comp = .lzo
|
||||
endif
|
||||
|
||||
barebox_default_env.gz: barebox_default_env
|
||||
$(obj)/barebox_default_env.gz: $(obj)/barebox_default_env
|
||||
$(call if_changed,gzip)
|
||||
|
||||
barebox_default_env.bz2: barebox_default_env
|
||||
$(obj)/barebox_default_env.bz2: $(obj)/barebox_default_env
|
||||
$(call if_changed,bzip2)
|
||||
|
||||
barebox_default_env.lzo: barebox_default_env
|
||||
$(obj)/barebox_default_env.lzo: $(obj)/barebox_default_env
|
||||
$(call if_changed,lzo)
|
||||
|
||||
include/generated/barebox_default_env.h: barebox_default_env$(barebox_default_env_comp)
|
||||
$(Q)cat $< | $(objtree)/scripts/bin2c default_environment > $@
|
||||
$(Q)echo "const int default_environment_uncompress_size=`stat -c%s barebox_default_env`;" >> $@
|
||||
|
||||
CLEAN_FILES += include/generated/barebox_default_env.h barebox_default_env
|
||||
CLEAN_FILES += barebox_default_env.gz barebox_default_env.bz2
|
||||
CLEAN_FILES += barebox_default_env.lzo
|
||||
include/generated/barebox_default_env.h: $(obj)/barebox_default_env$(barebox_default_env_comp)
|
||||
$(Q)cat $< | (cd $(obj) && $(objtree)/scripts/bin2c default_environment) > $@
|
||||
$(Q)echo "const int default_environment_uncompress_size=`stat -c%s $(obj)/barebox_default_env`;" >> $@
|
||||
|
||||
# dependencies on generated files need to be listed explicitly
|
||||
$(obj)/version.o: include/generated/compile.h
|
||||
|
|
|
@ -130,7 +130,8 @@ void usage(char *prgname)
|
|||
"options:\n"
|
||||
" -s save (directory -> environment sector)\n"
|
||||
" -l load (environment sector -> directory)\n"
|
||||
" -p <size> pad output file to given size\n",
|
||||
" -p <size> pad output file to given size\n"
|
||||
" -v verbose\n",
|
||||
prgname);
|
||||
}
|
||||
|
||||
|
@ -139,8 +140,9 @@ int main(int argc, char *argv[])
|
|||
int opt;
|
||||
int save = 0, load = 0, pad = 0, fd;
|
||||
char *filename = NULL, *dirname = NULL;
|
||||
int verbose = 0;
|
||||
|
||||
while((opt = getopt(argc, argv, "slp:")) != -1) {
|
||||
while((opt = getopt(argc, argv, "slp:v")) != -1) {
|
||||
switch (opt) {
|
||||
case 's':
|
||||
save = 1;
|
||||
|
@ -151,6 +153,9 @@ int main(int argc, char *argv[])
|
|||
case 'p':
|
||||
pad = strtoul(optarg, NULL, 0);
|
||||
break;
|
||||
case 'v':
|
||||
verbose = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -184,11 +189,13 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
if (load) {
|
||||
printf("loading env from file %s to %s\n", filename, dirname);
|
||||
if (verbose)
|
||||
printf("loading env from file %s to %s\n", filename, dirname);
|
||||
envfs_load(filename, dirname);
|
||||
}
|
||||
if (save) {
|
||||
printf("saving contents of %s to file %s\n", dirname, filename);
|
||||
if (verbose)
|
||||
printf("saving contents of %s to file %s\n", dirname, filename);
|
||||
envfs_save(filename, dirname);
|
||||
}
|
||||
exit(0);
|
||||
|
|
|
@ -1,15 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Generate the default environment file from a list of directories
|
||||
# usage: genenv <basedir> <objdir> <dir>...
|
||||
# usage: genenv <basedir> <objdir> <target> <dir>...
|
||||
# where <basedir> is the base directory for relative pathes in <dir>
|
||||
# where <objdir> is the base directory for relative pathes for result
|
||||
# and <target> is the resulting binary environment
|
||||
objtree=$2
|
||||
cd $1 || exit 1
|
||||
shift 2
|
||||
basedir=$1
|
||||
target=$3
|
||||
shift 3
|
||||
|
||||
tempdir=$(mktemp -d tmp.XXXXXX)
|
||||
tempdir="$objtree/.barebox_default_env"
|
||||
|
||||
mkdir -p "$tempdir"
|
||||
|
||||
(cd $basedir
|
||||
for i in $*; do
|
||||
if [ -d $i ]; then
|
||||
cp -r $i/* $tempdir
|
||||
|
@ -17,10 +22,10 @@ for i in $*; do
|
|||
cp -a $i $tempdir
|
||||
fi
|
||||
done
|
||||
)
|
||||
|
||||
find $tempdir -name '.svn' -o -name '*~' | xargs --no-run-if-empty rm -r
|
||||
|
||||
$objtree/scripts/bareboxenv -s $tempdir $objtree/barebox_default_env
|
||||
$objtree/scripts/bareboxenv -s $tempdir $target
|
||||
|
||||
rm -r $tempdir
|
||||
|
||||
|
|
Loading…
Reference in New Issue