Neels Hofmeyr | c916b97 | 2020-02-24 22:51:21 +0100 | [diff] [blame^] | 1 | BUILD_DIR = ./build |
| 2 | BUILD_CLASSES_DIR = $(BUILD_DIR)/classes |
| 3 | BUILD_JAVACARD_DIR = $(BUILD_DIR)/javacard |
| 4 | JAVACARD_SDK_DIR ?= $(SIMTOOLS_DIR)/javacard |
| 5 | JAVACARD_EXPORT_DIR ?= $(JAVACARD_SDK_DIR)/api21_export_files |
| 6 | ifdef COMSPEC |
| 7 | CLASSPATH = $(JAVACARD_SDK_DIR)/lib/api21.jar;$(JAVACARD_SDK_DIR)/lib/sim.jar |
| 8 | else |
| 9 | CLASSPATH = $(JAVACARD_SDK_DIR)/lib/api21.jar:$(JAVACARD_SDK_DIR)/lib/sim.jar |
| 10 | endif |
| 11 | JFLAGS = -target 1.1 -source 1.3 -g -d $(BUILD_CLASSES_DIR) -classpath "$(CLASSPATH)" |
| 12 | JAVA ?= java |
| 13 | JC ?= javac |
| 14 | |
| 15 | .SUFFIXES: .java .class |
| 16 | .java.class: |
| 17 | mkdir -p $(BUILD_CLASSES_DIR) |
| 18 | mkdir -p $(BUILD_JAVACARD_DIR) |
| 19 | |
| 20 | $(JC) $(JFLAGS) $*.java |
| 21 | |
| 22 | $(JAVA) -jar $(JAVACARD_SDK_DIR)/bin/converter.jar \ |
| 23 | -d $(BUILD_JAVACARD_DIR) \ |
| 24 | -classdir $(BUILD_CLASSES_DIR) \ |
| 25 | -exportpath $(JAVACARD_EXPORT_DIR) \ |
| 26 | -applet $(APPLET_AID) $(APPLET_NAME) \ |
| 27 | $(PACKAGE_NAME) $(PACKAGE_AID) $(PACKAGE_VERSION) |
| 28 | |
| 29 | default: classes |
| 30 | |
| 31 | classes: $(SOURCES:.java=.class) |
| 32 | |
| 33 | clean: |
| 34 | $(RM) -rf $(BUILD_DIR) |
| 35 | |
| 36 | install: |
| 37 | $(eval CAP_FILE := $(shell find $(BUILD_JAVACARD_DIR) -name *.cap)) |
| 38 | $(eval MODULE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g')) |
| 39 | $(eval INSTANCE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g')) |
| 40 | $(SIMTOOLS_DIR)/bin/shadysim \ |
| 41 | $(SHADYSIM_OPTIONS) \ |
| 42 | -l $(CAP_FILE) \ |
| 43 | -i $(CAP_FILE) \ |
| 44 | --enable-sim-toolkit \ |
| 45 | --module-aid $(MODULE_AID) \ |
| 46 | --instance-aid $(INSTANCE_AID) \ |
| 47 | --nonvolatile-memory-required 0100 \ |
| 48 | --volatile-memory-for-install 0100 \ |
| 49 | --max-menu-entry-text 10 \ |
| 50 | --max-menu-entries 01 |