diff --git a/tools/generate_json/generate_json.sh b/tools/generate_json/generate_json.sh
index 8a14517..81ab756 100755
--- a/tools/generate_json/generate_json.sh
+++ b/tools/generate_json/generate_json.sh
@@ -12,64 +12,82 @@
 # If you wish to only generate a layout file with this partition first run
 # "make realclean" to remove the existing file.
 
-# $1 = Secure Partition
-# $2 = Platform built path
-# $3 = Ivy Shim present
-# Output = $2/sp_layout.json
+# $1 = Platform built path
+# $2.. = List of Secure Partitions
+# Output = $1/sp_layout.json
 
-GENERATED_JSON=$2/sp_layout.json
-primary_dts="$1.dts"
+GENERATED_JSON=$1/sp_layout.json
+shift # Shift arguments 1
 
-if [ "$1" == "ivy" ]; then
-	if [ "$3" == "1" ]; then
-		primary_dts="ivy-sel1.dts"
-	else
-		primary_dts="ivy-sel0.dts"
-	fi
-fi
+PARTITION_ALREADY_PRESENT=false
 
-# Remove closing bracket and add comma if the dts is already present.
-if [ ! -f "$GENERATED_JSON" ]; then
-	echo -e "{\n" >> "$GENERATED_JSON"
-else
-	if [ $(grep "$primary_dts" "$GENERATED_JSON" | wc -l) -eq "0" ]; then
-		sed -i '$d' "$GENERATED_JSON"
-		sed -i '$ s/$/,/' "$GENERATED_JSON"
-		echo -e "\n" >> "$GENERATED_JSON"
-	else
-		exit 0
-	fi
-fi
+CACTUS_PRESENT=false
+IVY_PRESENT=false
+IVY_SHIM_PRESENT=false
+
+for target in "$@"
+do
+	case $target in
+		cactus)
+			CACTUS_PRESENT=true
+			;;
+		ivy)
+			IVY_PRESENT=true
+			;;
+		ivy_shim)
+			IVY_SHIM_PRESENT=true
+			;;
+		*)
+			echo "Invalid target $target"
+			exit 1
+			;;
+	esac
+done
+
+echo -e "{" > $GENERATED_JSON
 
 # To demonstrate communication between SP's, two cactus S-EL1 instances used.
 # To also test mapping of the RXTX region a third cactus S-EL1 instance is used.
 # cactus-primary, cactus-secondary and cactus-tertiary have same binary but
 # different partition manifests.
-if [ "$1" == "cactus" ]; then
-	echo -e "\t\"$1-primary\" : {\n \
+if [ $CACTUS_PRESENT == "true" ]; then
+	echo -ne "\t\"cactus-primary\" : {\n \
 	\t\"image\": {\n \
-	\t\t\"file\": \"$1.bin\",\n \
+	\t\t\"file\": \"cactus.bin\",\n \
 	\t\t\"offset\":\"0x2000\"\n\
 	\t},\n \
 	\t\"pm\": {\n \
-	\t\t\"file\": \"$1.dts\",\n \
+	\t\t\"file\": \"cactus.dts\",\n \
 	\t\t\"offset\":\"0x1000\"\n\
 	\t},\n
-	\t\"owner\": \"SiP\"\n\t},\n\n\t\"$1-secondary\" : {\n \
-	\t\"image\": \"$1.bin\",\n \
-	\t\"pm\": \"$1-secondary.dts\",\n \
-	\t\"owner\": \"Plat\"\n\t},\n\n\t\"$1-tertiary\" : {\n \
-	\t\"image\": \"$1.bin\",\n \
-	\t\"pm\": \"$1-tertiary.dts\",\n \
+	\t\"owner\": \"SiP\"\n\t},\n\n\t\"cactus-secondary\" : {\n \
+	\t\"image\": \"cactus.bin\",\n \
+	\t\"pm\": \"cactus-secondary.dts\",\n \
+	\t\"owner\": \"Plat\"\n\t},\n\n\t\"cactus-tertiary\" : {\n \
+	\t\"image\": \"cactus.bin\",\n \
+	\t\"pm\": \"cactus-tertiary.dts\",\n \
 	\t\"owner\": \"Plat\"\n\t}" \
 	>> "$GENERATED_JSON"
-elif [ "$1" == "ivy" ]; then
-	echo -e "\t\"ivy\" : {\n \
+	PARTITION_ALREADY_PRESENT=true
+fi
+if [ $IVY_PRESENT == "true" ]; then
+	if [ $PARTITION_ALREADY_PRESENT == "true" ]; then
+		echo -ne ",\n\n" >> $GENERATED_JSON
+	fi
+	echo -ne "\t\"ivy\" : {\n \
 	\t\"image\": \"ivy.bin\",\n \
-	\t\"pm\": \"$primary_dts\",\n \
+	\t\"pm\": \"ivy-sel0.dts\",\n \
 	\t\"owner\": \"Plat\"\n\t}" >> "$GENERATED_JSON"
-else
-	echo -e "\nWarning: Secure Partition not supported\n"
+	PARTITION_ALREADY_PRESENT=true
+elif [ $IVY_SHIM_PRESENT == "true" ]; then
+	if [ $PARTITION_ALREADY_PRESENT == "true" ]; then
+		echo -ne ",\n\n" >> $GENERATED_JSON
+	fi
+	echo -ne "\t\"ivy_shim\" : {\n \
+	\t\"image\": \"ivy.bin\",\n \
+	\t\"pm\": \"ivy-sel1.dts\",\n \
+	\t\"owner\": \"Plat\"\n\t}" >> "$GENERATED_JSON"
+	PARTITION_ALREADY_PRESENT=true
 fi
 
-echo -e "}" >> "$GENERATED_JSON"
+echo -e "\n}" >> "$GENERATED_JSON"
