-
Notifications
You must be signed in to change notification settings - Fork 228
Expand file tree
/
Copy pathMakefile.examples.unix
More file actions
77 lines (51 loc) · 2.46 KB
/
Makefile.examples.unix
File metadata and controls
77 lines (51 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Makefile for building the JAVA examples in Unix/Linux/OSX
# ENSURE THE STACK VERSION IS CORRECT!
UASTACK=Opc.Ua.Stack-1.02.337.2.jar
# Check the file paths, especially for JAVAC and ANT, unless they are on path
JAVAC=javac
JAVA=java
ANT=ant
MKDIR=mkdir
RM=rm -rf
EXAMPLESPATH=examples/org/opcfoundation/ua/examples
EXAMPLES_SRC=examples/$(EXAMPLESPATH)
BIN=bin
BUILD=build
EXAMPLES_BIN=$(BIN)/$(EXAMPLESPATH)
EXAMPLES_NS=org/opcfoundation/ua/examples
# Java classpath
CLASSPATH=examples:lib/$(UASTACK):$(BUILD)/$(UASTACK):lib/log4j-1.2.15.jar:lib/slf4j-api-1.7.7.jar:lib/slf4j-log4j12-1.7.7.jar:lib/httpcore-4.2.4.jar:lib/httpcore-nio-4.2.4.jar:lib/httpclient-4.2.5.jar:lib/bcpkix-jdk15on-152.jar:lib/bcprov-jdk15on-152.jar:lib/scpkix-1.51.0.0.jar:lib/scprov-1.51.0.0:lib/sc-core-1.51.0.0.jar:lib/commons-logging-1.1.1.jar
JUNITPATH=lib/junit-4.10.jar
# Implicit $(BUILD) rules
.SUFFIXES: .class .java
.java.class:
$(JAVAC) -d $(BIN) -cp $(CLASSPATH) "$<"
# $(BUILD) targets
all: bin $(BUILD) BigCertificateExample ClientExample1 ClientServerExample DiscoveryExample GenerateCertificateExample NanoServer.sh SampleClient.sh ServerExample1.sh RunUnitTests.sh
$(BUILD):
@if test -f $(BUILD).xml && ! test -f $(BUILD)/$(UASTACK); then \
$(ANT) -f $(BUILD).xml; \
fi
bin:
$(MKDIR) $(BIN)
BigCertificateExample: $(EXAMPLESPATH)/BigCertificateExample.class
ClientExample1: $(EXAMPLESPATH)/ClientExample1.class
ClientServerExample: $(EXAMPLESPATH)/ClientServerExample.class
DiscoveryExample: $(EXAMPLESPATH)/DiscoveryExample.class
GenerateCertificateExample: $(EXAMPLESPATH)/GenerateCertificateExample.class
NanoServer: $(EXAMPLESPATH)/NanoServer.class
ServerExample1: $(EXAMPLESPATH)/ServerExample1.class
SampleClient: $(EXAMPLESPATH)/SampleClient.class
ServerExample1.sh: $(EXAMPLESPATH)/ServerExample1.class
echo "$(JAVA) -cp $(CLASSPATH):$(BIN) $(EXAMPLES_NS)/ServerExample1 \$$*" > $@ && chmod a+x $@
NanoServer.sh: $(EXAMPLESPATH)/NanoServer.class
echo "$(JAVA) -cp $(CLASSPATH):$(BIN) $(EXAMPLES_NS)/NanoServer \$$*" > $@ && chmod a+x $@
SampleClient.sh: $(EXAMPLESPATH)/SampleClient.class
echo "$(JAVA) -cp $(CLASSPATH):$(BIN) $(EXAMPLES_NS)/SampleClient \$$*" > $@ && chmod a+x $@
RunUnitTests.sh:
echo "$(JAVA) -cp $(CLASSPATH):$(JUNITPATH):$(BIN) junit.textui.TestRunner org.opcfoundation.ua.unittests.TestStack" > $@ && chmod a+x $@
# remove all built targets
clean:
$(RM) $(EXAMPLESBIN) $(BIN) ServerExample1.sh SampleClient.sh *.der *.pem
cleanall: clean
$(RM) $(BUILD)