sim-applet: add "flash" and "remove" targets

Using wrong arguments for shadysim.py (e.g. wrong --max-menu-entry-text)
results in cryptic errors, so let's version them along with the source.
diff --git a/sim-applet/.gitignore b/sim-applet/.gitignore
index 567609b..de1e90a 100644
--- a/sim-applet/.gitignore
+++ b/sim-applet/.gitignore
@@ -1 +1,2 @@
 build/
+.sim-keys
diff --git a/sim-applet/.sim-keys.example b/sim-applet/.sim-keys.example
new file mode 100644
index 0000000..2b42ea3
--- /dev/null
+++ b/sim-applet/.sim-keys.example
@@ -0,0 +1,2 @@
+KIC1="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+KID1="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
diff --git a/sim-applet/Makefile b/sim-applet/Makefile
index 99a49af..9194b41 100644
--- a/sim-applet/Makefile
+++ b/sim-applet/Makefile
@@ -6,7 +6,31 @@
 PACKAGE_NAME    = org.osmocom.IMSIPseudo
 PACKAGE_VERSION = 1.0
 
-SOURCES = \
-	src/org/osmocom/IMSIPseudo/IMSIPseudo.java
+SOURCES = src/org/osmocom/IMSIPseudo/IMSIPseudo.java
+CAP_FILE = build/javacard/org/osmocom/IMSIPseudo/javacard/IMSIPseudo.cap
 
 include $(SIMTOOLS_DIR)/javacard/makefiles/applet-project.mk
+
+flash: classes
+	$(eval MODULE_AID   := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g'))
+	$(eval INSTANCE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g'))
+	. $$PWD/.sim-keys && $(SIMTOOLS_DIR)/bin/shadysim \
+		--pcsc \
+		-l $(CAP_FILE) \
+		-i $(CAP_FILE) \
+		--enable-sim-toolkit \
+		--module-aid $(MODULE_AID) \
+		--instance-aid $(INSTANCE_AID) \
+		--nonvolatile-memory-required 0100 \
+		--volatile-memory-for-install 0100 \
+		--max-menu-entry-text 21 \
+		--max-menu-entries 01 \
+		--kic "$$KIC1" \
+		--kid "$$KID1"
+
+remove:
+	. $$PWD/.sim-keys && $(SIMTOOLS_DIR)/bin/shadysim \
+		--pcsc \
+		-d "$$(echo $(PACKAGE_AID) | sed 's/0x//g' | sed 's/\://g')" \
+		--kic "$$KIC1" \
+		--kid "$$KID1"