1 |
c916b977
|
Neels Hofmeyr
|
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 |
faeef438
|
Neels Hofmeyr
|
JFLAGS = -target 1.1 -source 1.3 -g -d $(BUILD_CLASSES_DIR) -classpath "$(BUILD_CLASSES_DIR):$(CLASSPATH)"
|
12 |
c916b977
|
Neels Hofmeyr
|
JAVA ?= java
|
13 |
|
|
JC ?= javac
|
14 |
|
|
|
15 |
|
|
.SUFFIXES: .java .class
|
16 |
|
|
.java.class:
|
17 |
faeef438
|
Neels Hofmeyr
|
@mkdir -p $(BUILD_CLASSES_DIR)
|
18 |
|
|
@mkdir -p $(BUILD_JAVACARD_DIR)
|
19 |
c916b977
|
Neels Hofmeyr
|
$(JC) $(JFLAGS) $*.java
|
20 |
|
|
|
21 |
faeef438
|
Neels Hofmeyr
|
.PHONY: jar
|
22 |
|
|
jar: classes
|
23 |
c916b977
|
Neels Hofmeyr
|
$(JAVA) -jar $(JAVACARD_SDK_DIR)/bin/converter.jar \
|
24 |
|
|
-d $(BUILD_JAVACARD_DIR) \
|
25 |
|
|
-classdir $(BUILD_CLASSES_DIR) \
|
26 |
|
|
-exportpath $(JAVACARD_EXPORT_DIR) \
|
27 |
|
|
-applet $(APPLET_AID) $(APPLET_NAME) \
|
28 |
|
|
$(PACKAGE_NAME) $(PACKAGE_AID) $(PACKAGE_VERSION)
|
29 |
|
|
|
30 |
faeef438
|
Neels Hofmeyr
|
default: jar
|
31 |
c916b977
|
Neels Hofmeyr
|
|
32 |
|
|
classes: $(SOURCES:.java=.class)
|
33 |
|
|
|
34 |
|
|
clean:
|
35 |
|
|
$(RM) -rf $(BUILD_DIR)
|
36 |
|
|
|
37 |
|
|
install:
|
38 |
|
|
$(eval CAP_FILE := $(shell find $(BUILD_JAVACARD_DIR) -name *.cap))
|
39 |
|
|
$(eval MODULE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g'))
|
40 |
|
|
$(eval INSTANCE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g'))
|
41 |
|
|
$(SIMTOOLS_DIR)/bin/shadysim \
|
42 |
|
|
$(SHADYSIM_OPTIONS) \
|
43 |
|
|
-l $(CAP_FILE) \
|
44 |
|
|
-i $(CAP_FILE) \
|
45 |
|
|
--enable-sim-toolkit \
|
46 |
|
|
--module-aid $(MODULE_AID) \
|
47 |
|
|
--instance-aid $(INSTANCE_AID) \
|
48 |
|
|
--nonvolatile-memory-required 0100 \
|
49 |
|
|
--volatile-memory-for-install 0100 \
|
50 |
|
|
--max-menu-entry-text 10 \
|
51 |
|
|
--max-menu-entries 01
|