aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/camel/Makefile.nmake
blob: a79363de416887270d7f6af5f30701aa96891edb (plain)
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
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
# $Id$

include ../../config.nmake

UNIX2DOS=$(PERL) ../../tools/unix2dos.pl

PROTOCOL_NAME=camel
DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
COTRACTS_ASN= ../tcap/TC-Notation-Extensions.asn CAP-gsmSCF-gsmSRF-pkgs-contracts-acs.asn CAP-gsmSSF-gsmSCF-pkgs-contracts-acs.asn CAP-gprsSSF-gsmSCF-pkgs-contracts-acs.asn CAP-smsSSF-gsmSCF-pkgs-contracts-acs.asn
ROS_ASN= ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn
ASN_FILE_LIST=TCAPMessages.asn CAP-object-identifiers.asn CAP-classes.asn CAP-datatypes.asn CAP-errorcodes.asn CAP-errortypes.asn CAP-operationcodes.asn CAP-GPRS-ReferenceNumber.asn CAP-gsmSCF-gsmSRF-ops-args.asn CAP-gsmSSF-gsmSCF-ops-args.asn CAP-gprsSSF-gsmSCF-ops-args.asn CAP-SMS-ops-args.asn CAP-U-ABORT-Data.asn $(ROS_ASN)

all: generate_dissector

generate_dissector: $(DISSECTOR_FILES)

$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(ASN_FILE_LIST) packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h camel.cnf 
!IFDEF PYTHON
	$(PYTHON) "../../tools/asn2wrs.py" -b -X -T -L -e -k -p $(PROTOCOL_NAME) -c camel.cnf -s packet-$(PROTOCOL_NAME)-template $(ASN_FILE_LIST)
!ELSE
	@echo Error: You need Python to use asn2wrs.py
	@exit 1
!ENDIF

clean:
        rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES)

distclean: clean

maintainer-clean: distclean

# Fix EOL in generated dissectors. Cygwin's python generates files with 
# mixed EOL styles, which can't be commited to the SVN repository.
# Stuff included from template and "cnf" files has "\r\n" on windows, while 
# the generated stuff has "\n".

fix_eol: generate_dissector
	move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
	move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
	$(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
	$(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
	del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp

copy_files: generate_dissector
	xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
	xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y