ImageBuilder make DUMB AP firmware

device is Tplink wr940N v6

using these as guides:
https://openwrt.org/docs/guide-user/additional-software/imagebuilder
https://openwrt.org/docs/guide-user/additional-software/saving_space

using this firmware version 18.06.4
https://downloads.openwrt.org/releases/18.06.4/targets/ar71xx/tiny/openwrt-imagebuilder-18.06.4-ar71xx-tiny.Linux-x86_64.tar.xz

make info

tl-wr940n-v6:
    TP-LINK TL-WR940N v6
    Packages: 

so i input command on the space saving guide.

make image PROFILE=tl-wr940n-v6 PACKAGES=“uhttpd uhttpd-mod-ubus libiwinfo-lua luci-base luci-app-firewall luci-mod-admin-full luci-theme-bootstrap zram-swap -ppp -ppp-mod-pppoe -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -odhcpd-ipv6only -opkg”

16mb ram (i want to free ram space as much as possible) as this device will only be used as a DUMB AP.

but it just returns this code

make image PROFILE=tl-wr940n-v6 PACKAGES=“uhttpd uhttpd-mod-ubus libiwinfo-lua luci-base luci-app-firewall luci-mod-admin-full luci-theme-bootstrap zram-swap -ppp -ppp-mod-pppoe -iptables -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -odhcpd-ipv6only -odhcpd -opkg”
make: invalid option -- '-'
make: invalid option -- 'a'
make: invalid option -- '6'
make: invalid option -- 'a'
Usage: make [options] [target] ...
Options:
  -b, -m                      Ignored for compatibility.
  -B, --always-make           Unconditionally make all targets.
  -C DIRECTORY, --directory=DIRECTORY
                              Change to DIRECTORY before doing anything.
  -d                          Print lots of debugging information.
  --debug[=FLAGS]             Print various types of debugging information.
  -e, --environment-overrides
                              Environment variables override makefiles.
  --eval=STRING               Evaluate STRING as a makefile statement.
  -f FILE, --file=FILE, --makefile=FILE
                              Read FILE as a makefile.
  -h, --help                  Print this message and exit.
  -i, --ignore-errors         Ignore errors from recipes.
  -I DIRECTORY, --include-dir=DIRECTORY
                              Search DIRECTORY for included makefiles.
  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
  -k, --keep-going            Keep going when some targets can't be made.
  -l [N], --load-average[=N], --max-load[=N]
                              Don't start multiple jobs unless load is below N.
  -L, --check-symlink-times   Use the latest mtime between symlinks and target.
  -n, --just-print, --dry-run, --recon
                              Don't actually run any recipe; just print them.
  -o FILE, --old-file=FILE, --assume-old=FILE
                              Consider FILE to be very old and don't remake it.
  -O[TYPE], --output-sync[=TYPE]
                              Synchronize output of parallel jobs by TYPE.
  -p, --print-data-base       Print make's internal database.
  -q, --question              Run no recipe; exit status says if up to date.
  -r, --no-builtin-rules      Disable the built-in implicit rules.
  -R, --no-builtin-variables  Disable the built-in variable settings.
  -s, --silent, --quiet       Don't echo recipes.
  -S, --no-keep-going, --stop
                              Turns off -k.
  -t, --touch                 Touch targets instead of remaking them.
  --trace                     Print tracing information.
  -v, --version               Print the version number of make and exit.
  -w, --print-directory       Print the current directory.
  --no-print-directory        Turn off -w, even if it was turned on implicitly.
  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                              Consider FILE to be infinitely new.
  --warn-undefined-variables  Warn when an undefined variable is referenced.

This program built for x86_64-pc-linux-gnu
Report bugs to <bug-make@gnu.org>
# GNU Make 4.2.1
# Built for x86_64-pc-linux-gnu
# Copyright (C) 1988-2016 Free Software Foundation, Inc.
# License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
# This is free software: you are free to change and redistribute it.
# There is NO WARRANTY, to the extent permitted by law.

# Make data base, printed on Tue Apr 21 11:06:25 2020

# Variables

# environment
DESKTOP_SESSION = Lubuntu
# default
.SHELLFLAGS := -c
# environment
XDG_SESSION_CLASS = user
# environment
XDG_SESSION_TYPE = x11
# environment
XAUTHORITY = /home/narmenia/.Xauthority
# environment
SHELL = /bin/bash
# environment
_ = /usr/bin/make
# environment
XDG_CONFIG_DIRS = /etc/xdg/xdg-Lubuntu:/etc/xdg:/etc:/usr/share
# environment
GTK_OVERLAY_SCROLLING = 0
# environment
GNUMAKEFLAGS := 
# environment
LXQT_DEFAULT_OPENBOX_CONFIG = /etc/xdg/xdg-Lubuntu/openbox/lxqt-rc.xml
# environment
XDG_DATA_DIRS = /usr/share/Lubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
# environment
DBUS_SESSION_BUS_ADDRESS = unix:path=/run/user/1000/bus
# environment
LESSOPEN = | /usr/bin/lesspipe %s
# environment
LC_NAME = en_PH.UTF-8
# environment
XDG_SESSION_PATH = /org/freedesktop/DisplayManager/Session0
# environment
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
# environment
GPG_AGENT_INFO = /run/user/1000/gnupg/S.gpg-agent:0:1
# environment
LXQT_SESSION_CONFIG = session
# environment
XDG_RUNTIME_DIR = /run/user/1000
# environment
WINDOWID = 0
# environment
XDG_MENU_PREFIX = lxqt-
# environment
LC_NUMERIC = en_PH.UTF-8
# default
.FEATURES := target-specific order-only second-expansion else-if shortest-stem undefine oneshell archives jobserver output-sync check-symlink load
# environment
LS_COLORS = rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
# environment
XDG_SESSION_DESKTOP = 
# environment
SSH_AUTH_SOCK = /tmp/ssh-dW1XgvmO17gS/agent.1027
# environment
DISPLAY = :0
# environment
PWD = /home/narmenia/Downloads/openwrt-imagebuilder-18.06.4-ar71xx-tiny.Linux-x86_64
# environment
QT_QPA_PLATFORMTHEME = lxqt
# default
.LOADED := 
# environment
XDG_SEAT = seat0
# environment
SSH_AGENT_PID = 1071
# environment
HOME = /home/narmenia
# environment
XDG_CACHE_HOME = /home/narmenia/.cache
# environment
LESSCLOSE = /usr/bin/lesspipe %s %s
# environment
LOGNAME = narmenia
# environment
XDG_VTNR = 1
# environment
LC_TIME = en_PH.UTF-8
# default
MAKECMDGOALS := image uhttpd-mod-ubus libiwinfo-lua luci-base luci-app-firewall luci-mod-admin-full luci-theme-bootstrap zram-swap
# environment
SHLVL = 1
# environment
XDG_SESSION_ID = 1
# environment
USER = narmenia
# environment
LC_MONETARY = en_PH.UTF-8
# environment
XDG_CURRENT_DESKTOP = LXQt
# environment
SAL_USE_VCLPLUGIN = kde4
# environment
LC_TELEPHONE = en_PH.UTF-8
# environment
OLDPWD = /home/narmenia/Downloads
# default
.VARIABLES := 
# command line
PROFILE = tl-wr940n-v6
# environment
LANGUAGE = 
# environment
XDG_SEAT_PATH = /org/freedesktop/DisplayManager/Seat0
# environment
GTK_CSD = 0
# environment
QT_PLATFORM_PLUGIN = lxqt
# environment
LC_PAPER = en_PH.UTF-8
# environment
BROWSER = firefox
# command line
PACKAGES = “uhttpd
# environment
COLORFGBG = 15;0
# environment
LC_MEASUREMENT = en_PH.UTF-8
# environment
XDG_CONFIG_HOME = /home/narmenia/.config
# environment
XDG_DATA_HOME = /home/narmenia/.local/share
# environment
LC_IDENTIFICATION = en_PH.UTF-8
# default
.RECIPEPREFIX := 
# environment
LC_ADDRESS = en_PH.UTF-8
# environment
LANG = en_PH.UTF-8
# environment
TERM = xterm-256color
# variable set hash-table stats:
# Load=66/1024=6%, Rehash=0, Collisions=2/83=2%

# Pattern-specific Variable Values

# No pattern-specific variable values.

# Directories


# No files, no impossibilities in 0 directories.

# Implicit Rules

# No implicit rules.

# Files

# Not a target:
uhttpd-mod-ubus:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
luci-base:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
libiwinfo-lua:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
luci-theme-bootstrap:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
image:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
luci-mod-admin-full:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
luci-app-firewall:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
zram-swap:
#  Command line target.
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# files hash-table stats:
# Load=8/1024=1%, Rehash=0, Collisions=0/8=0%
# VPATH Search Paths

# No 'vpath' search paths.

# No general ('VPATH' variable) search path.

# strcache buffers: 1 (0) / strings = 15 / storage = 177 B / avg = 11 B
# current buf: size = 8162 B / used = 177 B / count = 15 / avg = 11 B

# strcache performance: lookups = 23 / hit rate = 34%
# hash-table stats:
# Load=15/8192=0%, Rehash=0, Collisions=0/23=0%
# Finished Make data base on Tue Apr 21 11:06:25 2020

anyone can help? i just need to have the firmware stripped as much as possible.

**Build image for devices with only 16/32MB RAM**

**If the device has 16MB or less of RAM, then it should only be used as Internal AP (e.g. to extend Wi-Fi coverage).**

OK i ran

make image PROFILE=tl-wr940n-v6

this are the packages that were included

Building images for ar71xx - TP-LINK TL-WR940N v6
Packages: base-files busybox dnsmasq dropbear firewall fstools ip6tables iptables kernel kmod-ath9k kmod-gpio-button-hotplug libc libgcc logd mtd netifd odhcp6c odhcpd-ipv6only opkg ppp ppp-mod-pppoe swconfig uboot-envtools uci uclient-fetch wpad-mini

what can i remove? i need the device to be a DUMB AP. no firewall no dhcp. stripped as much as possible to free up ram.

If I were you I'd figure out the configuration files first so there's no actual need to configure after flash (include them in the FILES=/files/etc/config argument when building). Thereby you can further remove all LuCi components and maybe also UCI (presuming that OpenWrt itself doesn't use UCI commandset for anything).