| BUILD_DIR = ./build |
| BUILD_CLASSES_DIR = $(BUILD_DIR)/classes |
| BUILD_JAVACARD_DIR = $(BUILD_DIR)/javacard |
| JAVACARD_SDK_DIR ?= $(SIMTOOLS_DIR)/javacard |
| JAVACARD_EXPORT_DIR ?= $(JAVACARD_SDK_DIR)/api21_export_files |
| ifdef COMSPEC |
| CLASSPATH = $(JAVACARD_SDK_DIR)/lib/api21.jar;$(JAVACARD_SDK_DIR)/lib/sim.jar |
| else |
| CLASSPATH = $(JAVACARD_SDK_DIR)/lib/api21.jar:$(JAVACARD_SDK_DIR)/lib/sim.jar |
| endif |
| JFLAGS = -target 1.1 -source 1.3 -g -d $(BUILD_CLASSES_DIR) -classpath "$(CLASSPATH)" |
| JAVA ?= java |
| JC ?= javac |
| |
| .SUFFIXES: .java .class |
| .java.class: |
| mkdir -p $(BUILD_CLASSES_DIR) |
| mkdir -p $(BUILD_JAVACARD_DIR) |
| |
| $(JC) $(JFLAGS) $*.java |
| |
| $(JAVA) -jar $(JAVACARD_SDK_DIR)/bin/converter.jar \ |
| -d $(BUILD_JAVACARD_DIR) \ |
| -classdir $(BUILD_CLASSES_DIR) \ |
| -exportpath $(JAVACARD_EXPORT_DIR) \ |
| -applet $(APPLET_AID) $(APPLET_NAME) \ |
| $(PACKAGE_NAME) $(PACKAGE_AID) $(PACKAGE_VERSION) |
| |
| default: classes |
| |
| classes: $(SOURCES:.java=.class) |
| |
| clean: |
| $(RM) -rf $(BUILD_DIR) |
| |
| install: |
| $(eval CAP_FILE := $(shell find $(BUILD_JAVACARD_DIR) -name *.cap)) |
| $(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')) |
| $(SIMTOOLS_DIR)/bin/shadysim \ |
| $(SHADYSIM_OPTIONS) \ |
| -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 10 \ |
| --max-menu-entries 01 |