diff --git a/include/applets.h b/include/applets.h
index 5ecfe3c..35dd947 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -21,7 +21,7 @@
   #define APPLET_ODDNAME(a,b,c,d) extern int b(int argc, char **argv);
   extern const char usage_messages[];
 #elif defined(MAKE_USAGE)
-  #ifdef BB_FEATURE_VERBOSE_USAGE
+  #ifdef CONFIG_FEATURE_VERBOSE_USAGE
     #define APPLET(a,b,c) a##_trivial_usage "\n\n" a##_full_usage "\0"
     #define APPLET_NOUSAGE(a,b,c) "\0"
     #define APPLET_ODDNAME(a,b,c,d) d##_trivial_usage "\n\n" d##_full_usage "\0"
@@ -43,452 +43,452 @@
 
 
 
-#ifdef BB_TEST
+#ifdef CONFIG_TEST
 	APPLET_NOUSAGE("[", test_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_ADDGROUP
+#ifdef CONFIG_ADDGROUP
 	APPLET(addgroup, addgroup_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_ADDUSER
+#ifdef CONFIG_ADDUSER
 	APPLET(adduser, adduser_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_ADJTIMEX
+#ifdef CONFIG_ADJTIMEX
 	APPLET(adjtimex, adjtimex_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_AR
+#ifdef CONFIG_AR
 	APPLET(ar, ar_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_ASH
+#ifdef CONFIG_ASH
 	APPLET_NOUSAGE("ash", ash_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_BASENAME
+#ifdef CONFIG_BASENAME
 	APPLET(basename, basename_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_BUNZIP2
+#ifdef CONFIG_BUNZIP2
 	APPLET(bunzip2, bunzip2_main, _BB_DIR_USR_BIN)
 #endif
 	APPLET_NOUSAGE("busybox", busybox_main, _BB_DIR_BIN)
-#ifdef BB_CAT
+#ifdef CONFIG_CAT
 	APPLET(cat, cat_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_CHGRP
+#ifdef CONFIG_CHGRP
 	APPLET(chgrp, chgrp_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_CHMOD
+#ifdef CONFIG_CHMOD
 	APPLET(chmod, chmod_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_CHOWN
+#ifdef CONFIG_CHOWN
 	APPLET(chown, chown_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_CHROOT
+#ifdef CONFIG_CHROOT
 	APPLET(chroot, chroot_main, _BB_DIR_USR_SBIN)
 #endif
-#ifdef BB_CHVT
+#ifdef CONFIG_CHVT
 	APPLET(chvt, chvt_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_CLEAR
+#ifdef CONFIG_CLEAR
 	APPLET(clear, clear_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_CMP
+#ifdef CONFIG_CMP
 	APPLET(cmp, cmp_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_CP
+#ifdef CONFIG_CP
 	APPLET(cp, cp_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_CPIO
+#ifdef CONFIG_CPIO
 	APPLET(cpio, cpio_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_CUT
+#ifdef CONFIG_CUT
 	APPLET(cut, cut_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DATE
+#ifdef CONFIG_DATE
 	APPLET(date, date_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DC
+#ifdef CONFIG_DC
 	APPLET(dc, dc_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DD
+#ifdef CONFIG_DD
 	APPLET(dd, dd_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DEALLOCVT
+#ifdef CONFIG_DEALLOCVT
 	APPLET(deallocvt, deallocvt_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DELGROUP
+#ifdef CONFIG_DELGROUP
 	APPLET(delgroup, delgroup_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DELUSER
+#ifdef CONFIG_DELUSER
 	APPLET(deluser, deluser_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DF
+#ifdef CONFIG_DF
 	APPLET(df, df_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DIRNAME
+#ifdef CONFIG_DIRNAME
 	APPLET(dirname, dirname_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DMESG
+#ifdef CONFIG_DMESG
 	APPLET(dmesg, dmesg_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DOS2UNIX
+#ifdef CONFIG_DOS2UNIX
 	APPLET(dos2unix, dos2unix_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DPKG
+#ifdef CONFIG_DPKG
 	APPLET(dpkg, dpkg_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DPKG_DEB
+#ifdef CONFIG_DPKG_DEB
 	APPLET_ODDNAME("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, dpkg_deb)
 #endif
-#ifdef BB_DU
+#ifdef CONFIG_DU
 	APPLET(du, du_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_DUMPKMAP
+#ifdef CONFIG_DUMPKMAP
 	APPLET(dumpkmap, dumpkmap_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_DUTMP
+#ifdef CONFIG_DUTMP
 	APPLET(dutmp, dutmp_main, _BB_DIR_USR_SBIN)
 #endif
-#ifdef BB_ECHO
+#ifdef CONFIG_ECHO
 	APPLET(echo, echo_main, _BB_DIR_BIN)
 #endif
-#if defined(BB_FEATURE_GREP_EGREP_ALIAS) && defined(BB_GREP)
+#if defined(CONFIG_FEATURE_GREP_EGREP_ALIAS) && defined(CONFIG_GREP)
 	APPLET_NOUSAGE("egrep", grep_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_ENV
+#ifdef CONFIG_ENV
 	APPLET(env, env_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_EXPR
+#ifdef CONFIG_EXPR
 	APPLET(expr, expr_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TRUE_FALSE
+#ifdef CONFIG_TRUE_FALSE
 	APPLET(false, false_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_FBSET
+#ifdef CONFIG_FBSET
 	APPLET(fbset, fbset_main, _BB_DIR_USR_SBIN)
 #endif
-#ifdef BB_FDFLUSH
+#ifdef CONFIG_FDFLUSH
 	APPLET(fdflush, fdflush_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_FIND
+#ifdef CONFIG_FIND
 	APPLET(find, find_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_FREE
+#ifdef CONFIG_FREE
 	APPLET(free, free_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_FREERAMDISK
+#ifdef CONFIG_FREERAMDISK
 	APPLET(freeramdisk, freeramdisk_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_FSCK_MINIX
+#ifdef CONFIG_FSCK_MINIX
 	APPLET_ODDNAME("fsck.minix", fsck_minix_main, _BB_DIR_SBIN, fsck_minix)
 #endif
-#ifdef BB_GETOPT
+#ifdef CONFIG_GETOPT
 	APPLET(getopt, getopt_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_GETTY
+#ifdef CONFIG_GETTY
 	APPLET(getty, getty_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_GREP
+#ifdef CONFIG_GREP
 	APPLET(grep, grep_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_GUNZIP
+#ifdef CONFIG_GUNZIP
 	APPLET(gunzip, gunzip_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_GZIP
+#ifdef CONFIG_GZIP
 	APPLET(gzip, gzip_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_HALT
+#ifdef CONFIG_HALT
 	APPLET(halt, halt_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_HEAD
+#ifdef CONFIG_HEAD
 	APPLET(head, head_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_HOSTID
+#ifdef CONFIG_HOSTID
 	APPLET(hostid, hostid_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_HOSTNAME
+#ifdef CONFIG_HOSTNAME
 	APPLET(hostname, hostname_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_HUSH
+#ifdef CONFIG_HUSH
 	APPLET_NOUSAGE("hush", hush_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_ID
+#ifdef CONFIG_ID
 	APPLET(id, id_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_IFCONFIG
+#ifdef CONFIG_IFCONFIG
 	APPLET(ifconfig, ifconfig_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_INIT
+#ifdef CONFIG_INIT
 	APPLET(init, init_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_INSMOD
+#ifdef CONFIG_INSMOD
 	APPLET(insmod, insmod_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_KILL
+#ifdef CONFIG_KILL
 	APPLET(kill, kill_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_KILLALL
+#ifdef CONFIG_KILLALL
 	APPLET(killall, kill_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_KLOGD
+#ifdef CONFIG_KLOGD
 	APPLET(klogd, klogd_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_LASH
+#ifdef CONFIG_LASH
 	APPLET(lash, lash_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_LENGTH
+#ifdef CONFIG_LENGTH
 	APPLET(length, length_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_FEATURE_LINUXRC
+#ifdef CONFIG_FEATURE_INITRD
 	APPLET_NOUSAGE("linuxrc", init_main, _BB_DIR_ROOT)
 #endif
-#ifdef BB_LN
+#ifdef CONFIG_LN
 	APPLET(ln, ln_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_LOADACM
+#ifdef CONFIG_LOADACM
 	APPLET(loadacm, loadacm_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_LOADFONT
+#ifdef CONFIG_LOADFONT
 	APPLET(loadfont, loadfont_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_LOADKMAP
+#ifdef CONFIG_LOADKMAP
 	APPLET(loadkmap, loadkmap_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_LOGGER
+#ifdef CONFIG_LOGGER
 	APPLET(logger, logger_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_LOGNAME
+#ifdef CONFIG_LOGNAME
 	APPLET(logname, logname_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_LOGREAD
+#ifdef CONFIG_LOGREAD
 	APPLET(logread, logread_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_LS
+#ifdef CONFIG_LS
 	APPLET(ls, ls_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_LSMOD
+#ifdef CONFIG_LSMOD
 	APPLET(lsmod, lsmod_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_MAKEDEVS
+#ifdef CONFIG_MAKEDEVS
 	APPLET(makedevs, makedevs_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_MD5SUM
+#ifdef CONFIG_MD5SUM
 	APPLET(md5sum, md5sum_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_MKDIR
+#ifdef CONFIG_MKDIR
 	APPLET(mkdir, mkdir_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MKFIFO
+#ifdef CONFIG_MKFIFO
 	APPLET(mkfifo, mkfifo_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_MKFS_MINIX
+#ifdef CONFIG_MKFS_MINIX
 	APPLET_ODDNAME("mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, mkfs_minix)
 #endif
-#ifdef BB_MKNOD
+#ifdef CONFIG_MKNOD
 	APPLET(mknod, mknod_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MKSWAP
+#ifdef CONFIG_MKSWAP
 	APPLET(mkswap, mkswap_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_MKTEMP
+#ifdef CONFIG_MKTEMP
 	APPLET(mktemp, mktemp_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MODPROBE
+#ifdef CONFIG_MODPROBE
 	APPLET(modprobe, modprobe_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_MORE
+#ifdef CONFIG_MORE
 	APPLET(more, more_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MOUNT
+#ifdef CONFIG_MOUNT
 	APPLET(mount, mount_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MSH
+#ifdef CONFIG_MSH
 	APPLET_NOUSAGE("msh", msh_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MT
+#ifdef CONFIG_MT
 	APPLET(mt, mt_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_MV
+#ifdef CONFIG_MV
 	APPLET(mv, mv_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_NC
+#ifdef CONFIG_NC
 	APPLET(nc, nc_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_NSLOOKUP
+#ifdef CONFIG_NSLOOKUP
 	APPLET(nslookup, nslookup_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_PIDOF
+#ifdef CONFIG_PIDOF
 	APPLET(pidof, pidof_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_PING
+#ifdef CONFIG_PING
 	APPLET(ping, ping_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_PIVOT_ROOT
+#ifdef CONFIG_PIVOT_ROOT
  	APPLET(pivot_root, pivot_root_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_POWEROFF
+#ifdef CONFIG_POWEROFF
 	APPLET(poweroff, poweroff_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_PRINTF
+#ifdef CONFIG_PRINTF
 	APPLET(printf, printf_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_PS
+#ifdef CONFIG_PS
 	APPLET(ps, ps_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_PWD
+#ifdef CONFIG_PWD
 	APPLET(pwd, pwd_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_RDATE
+#ifdef CONFIG_RDATE
 	APPLET(rdate, rdate_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_READLINK
+#ifdef CONFIG_READLINK
 	APPLET(readlink, readlink_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_REBOOT
+#ifdef CONFIG_REBOOT
 	APPLET(reboot, reboot_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_RENICE
+#ifdef CONFIG_RENICE
 	APPLET(renice, renice_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_RESET
+#ifdef CONFIG_RESET
 	APPLET(reset, reset_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_RM
+#ifdef CONFIG_RM
 	APPLET(rm, rm_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_RMDIR
+#ifdef CONFIG_RMDIR
 	APPLET(rmdir, rmdir_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_RMMOD
+#ifdef CONFIG_RMMOD
 	APPLET(rmmod, rmmod_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_ROUTE
+#ifdef CONFIG_ROUTE
  	APPLET(route, route_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_RPM2CPIO
+#ifdef CONFIG_RPM2CPIO
 	APPLET(rpm2cpio, rpm2cpio_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_SED
+#ifdef CONFIG_SED
 	APPLET(sed, sed_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_SETKEYCODES
+#ifdef CONFIG_SETKEYCODES
 	APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN)
 #endif
-#if defined(BB_FEATURE_SH_IS_ASH) && defined(BB_ASH)
+#if defined(CONFIG_FEATURE_SH_IS_ASH) && defined(CONFIG_ASH)
 	APPLET_NOUSAGE("sh", ash_main, _BB_DIR_BIN)
-#elif defined(BB_FEATURE_SH_IS_HUSH) && defined(BB_HUSH)
+#elif defined(CONFIG_FEATURE_SH_IS_HUSH) && defined(CONFIG_HUSH)
 	APPLET_NOUSAGE("sh", hush_main, _BB_DIR_BIN)
-#elif defined(BB_FEATURE_SH_IS_LASH) && defined(BB_LASH)
+#elif defined(CONFIG_FEATURE_SH_IS_LASH) && defined(CONFIG_LASH)
 	APPLET_NOUSAGE("sh", lash_main, _BB_DIR_BIN)
-#elif defined(BB_FEATURE_SH_IS_MSH) && defined(BB_MSH)
+#elif defined(CONFIG_FEATURE_SH_IS_MSH) && defined(CONFIG_MSH)
 	APPLET_NOUSAGE("sh", msh_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_SLEEP
+#ifdef CONFIG_SLEEP
 	APPLET(sleep, sleep_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_SORT
+#ifdef CONFIG_SORT
 	APPLET(sort, sort_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_START_STOP_DAEMON
+#ifdef CONFIG_START_STOP_DAEMON
     APPLET_ODDNAME("start-stop-daemon", start_stop_daemon_main, _BB_DIR_SBIN, start_stop_daemon)
 #endif
-#ifdef BB_STTY
+#ifdef CONFIG_STTY
 	APPLET(stty, stty_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_SWAPONOFF
+#ifdef CONFIG_SWAPONOFF
 	APPLET(swapoff, swap_on_off_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_SWAPONOFF
+#ifdef CONFIG_SWAPONOFF
 	APPLET(swapon, swap_on_off_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_SYNC
+#ifdef CONFIG_SYNC
 	APPLET(sync, sync_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_SYSLOGD
+#ifdef CONFIG_SYSLOGD
 	APPLET(syslogd, syslogd_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_TAIL
+#ifdef CONFIG_TAIL
 	APPLET(tail, tail_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TAR
+#ifdef CONFIG_TAR
 	APPLET(tar, tar_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_TEE
+#ifdef CONFIG_TEE
 	APPLET(tee, tee_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TELNET
+#ifdef CONFIG_TELNET
 	APPLET(telnet, telnet_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TEST
+#ifdef CONFIG_TEST
 	APPLET(test, test_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TFTP
+#ifdef CONFIG_TFTP
 	APPLET(tftp, tftp_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TOUCH
+#ifdef CONFIG_TOUCH
 	APPLET(touch, touch_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_TR
+#ifdef CONFIG_TR
 	APPLET(tr, tr_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TRACEROUTE
+#ifdef CONFIG_TRACEROUTE
 	APPLET(traceroute, traceroute_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_TRUE_FALSE
+#ifdef CONFIG_TRUE_FALSE
 	APPLET(true, true_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_TTY
+#ifdef CONFIG_TTY
 	APPLET(tty, tty_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_UMOUNT
+#ifdef CONFIG_UMOUNT
 	APPLET(umount, umount_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_UNAME
+#ifdef CONFIG_UNAME
 	APPLET(uname, uname_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_UNIQ
+#ifdef CONFIG_UNIQ
 	APPLET(uniq, uniq_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_UNIX2DOS
+#ifdef CONFIG_UNIX2DOS
 	APPLET(unix2dos, dos2unix_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_UPDATE
+#ifdef CONFIG_UPDATE
 	APPLET(update, update_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_UPTIME
+#ifdef CONFIG_UPTIME
 	APPLET(uptime, uptime_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_USLEEP
+#ifdef CONFIG_USLEEP
 	APPLET(usleep, usleep_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_UUDECODE
+#ifdef CONFIG_UUDECODE
 	APPLET(uudecode, uudecode_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_UUENCODE
+#ifdef CONFIG_UUENCODE
 	APPLET(uuencode, uuencode_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_VI
+#ifdef CONFIG_VI
 	APPLET(vi, vi_main, _BB_DIR_BIN)
 #endif
-#ifdef BB_WATCHDOG
+#ifdef CONFIG_WATCHDOG
 	APPLET(watchdog, watchdog_main, _BB_DIR_SBIN)
 #endif
-#ifdef BB_WC
+#ifdef CONFIG_WC
 	APPLET(wc, wc_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_WGET
+#ifdef CONFIG_WGET
 	APPLET(wget, wget_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_WHICH
+#ifdef CONFIG_WHICH
 	APPLET(which, which_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_WHOAMI
+#ifdef CONFIG_WHOAMI
 	APPLET(whoami, whoami_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_XARGS
+#ifdef CONFIG_XARGS
 	APPLET(xargs, xargs_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_YES
+#ifdef CONFIG_YES
 	APPLET(yes, yes_main, _BB_DIR_USR_BIN)
 #endif
-#ifdef BB_GUNZIP
+#ifdef CONFIG_GUNZIP
 	APPLET(zcat, gunzip_main, _BB_DIR_BIN)
 #endif
 
