Commit | Line | Data |
---|---|---|
d44e3c4f | 1 | ############################################################################## |
2 | # Copyright (c) 2000-2016 Ericsson Telecom AB | |
970ed795 EL |
3 | # All rights reserved. This program and the accompanying materials |
4 | # are made available under the terms of the Eclipse Public License v1.0 | |
5 | # which accompanies this distribution, and is available at | |
6 | # http://www.eclipse.org/legal/epl-v10.html | |
d44e3c4f | 7 | # |
8 | # Contributors: | |
9 | # Balasko, Jeno | |
10 | # Baranyi, Botond | |
14e21cff | 11 | # Szabo, Bence Janos |
d44e3c4f | 12 | # |
13 | ############################################################################## | |
970ed795 EL |
14 | TOPDIR := .. |
15 | include $(TOPDIR)/Makefile.regression | |
16 | ||
17 | .SUFFIXES: .ttcn .asn .hh | |
18 | .PHONY: all clean dep run | |
19 | ||
20 | TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX) | |
21 | ||
22 | TTCN3_MODULES = Types.ttcn Functions.ttcn AttributeTestcases.ttcn Testcases.ttcn SemanticCheck.ttcn | |
23 | ||
24 | ASN1_MODULES = JsonData.asn | |
25 | ||
26 | GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc) | |
27 | GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh) | |
28 | ifdef CODE_SPLIT | |
29 | GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc)) | |
14e21cff | 30 | else ifdef SPLIT_TO_SLICES |
31 | POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_)) | |
32 | POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc)) | |
33 | GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES))) | |
34 | GENERATED_SOURCES += $(GENERATED_SOURCES2) | |
970ed795 EL |
35 | endif |
36 | ||
37 | USER_SOURCES = | |
38 | ||
39 | OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o) | |
40 | ||
41 | TARGET = json$(EXESUFFIX) | |
42 | ||
43 | all: $(TARGET) | |
44 | ||
45 | $(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES) | |
46 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS) | |
47 | ||
48 | ||
49 | #.ttcn.cc .ttcn.hh: | |
50 | # $(TTCN3_COMPILER) $< | |
51 | ||
52 | $(GENERATED_SOURCES) $(GENERATED_HEADERS): compile | |
53 | @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi | |
54 | ||
55 | compile: $(TTCN3_MODULES) $(ASN1_MODULES) | |
56 | $(filter-out -Nold -E, $(TTCN3_COMPILER)) $(COMPILER_FLAGS) $^ | |
57 | touch compile | |
58 | ||
59 | clean distclean: | |
60 | -rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \ | |
61 | $(GENERATED_SOURCES) *.log Makefile.bak | |
62 | ||
63 | dep: $(GENERATED_SOURCES) | |
64 | makedepend $(CPPFLAGS) $(GENERATED_SOURCES) | |
65 | ||
66 | run: $(TARGET) JSON.cfg | |
67 | ./$^ | |
68 | ||
69 | .NOTPARALLEL: | |
70 | ||
71 | ifdef SRCDIR | |
72 | $(foreach src, $(USER_SOURCES), $(eval vpath $(src) $(ABS_SRC))) | |
73 | endif |