Wireshark-dev: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Mon, 24 Sep 2007 16:03:47 +0200
OK, I've committed the changes to asn2wrs and have updated the Makefiles to (hopefully) accomodate Thomas' comments. I'd like some feedback whether this has been tested on Windows, as I can only test on Linux. ciao Joerg -- Joerg Mayer <jmayer@xxxxxxxxx> We are stuck with technology when what we really want is just stuff that works. Some say that should read Microsoft instead of technology.
Index: asn1/Makefile.nmake =================================================================== --- asn1/Makefile.nmake (revision 22931) +++ asn1/Makefile.nmake (working copy) @@ -2,7 +2,27 @@ ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # # $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@xxxxxxxxxxxxx> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + all: ber per ber: \ Index: asn1/Makefile.inc.nmake =================================================================== --- asn1/Makefile.inc.nmake (revision 0) +++ asn1/Makefile.inc.nmake (revision 0) @@ -0,0 +1,71 @@ +# To be included into the asn1 Makefiles for Windows builds +# +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@xxxxxxxxxxxxx> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +UNIX2DOS=$(PERL) ../../tools/unix2dos.pl + +all: generate_dissector + +generate_dissector: $(DISSECTOR_FILES) $(EXTRA_CNF) + +$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(SRC_FILES) +!IFDEF PYTHON + $(PYTHON) "../../tools/asn2wrs.py" \ + $(A2W_FLAGS) \ + -p $(PROTOCOL_NAME) \ + -c $(PROTOCOL_NAME).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) \ + *-exp.cnf \ + packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc] + + +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 + Property changes on: asn1/Makefile.inc.nmake ___________________________________________________________________ Name: svn:keywords + Id Name: svn:eol-style + native Property changes on: asn1/camel ___________________________________________________________________ Name: svn:ignore + *-exp.cnf Makefile.in packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc] parsetab.py* Index: asn1/camel/Makefile.common =================================================================== --- asn1/camel/Makefile.common (revision 0) +++ asn1/camel/Makefile.common (revision 0) @@ -0,0 +1,70 @@ +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@xxxxxxxxxxxxx> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +PROTOCOL_NAME=camel + +DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c \ + packet-$(PROTOCOL_NAME).h + +EXT_ASN_FILE_LIST = \ + ../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 + +# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn +# files do not exist # for all protocols: Please add/remove as required. +EXTRA_DIST = \ + $(ASN_FILE_LIST) \ + packet-$(PROTOCOL_NAME)-template.c \ + packet-$(PROTOCOL_NAME)-template.h \ + $(PROTOCOL_NAME).asn \ + $(PROTOCOL_NAME).cnf + +SRC_FILES = \ + $(EXTRA_DIST) \ + $(EXT_ASN_FILE_LIST) + +A2W_FLAGS= -b -X -T -L -e -k + +EXTRA_CNF=../inap/inap-exp.cnf \ + ../gsmmap/gsm_map-exp.cnf + +../gsmmap/gsm_map-exp.cnf: + (cd ../gsmmap && $(MAKE) $(MAKEFLAGS)) + +../inap/inap-exp.cnf: + (cd ../inap && $(MAKE) $(MAKEFLAGS)) + Property changes on: asn1/camel/Makefile.common ___________________________________________________________________ Name: svn:keywords + Id Name: svn:eol-style + native Index: asn1/camel/Makefile.nmake =================================================================== --- asn1/camel/Makefile.nmake (revision 22931) +++ asn1/camel/Makefile.nmake (working copy) @@ -1,48 +1,28 @@ ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # # $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@xxxxxxxxxxxxx> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +include Makefile.common include ../../config.nmake +include ../Makefile.inc.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 Index: asn1/camel/Makefile.am =================================================================== --- asn1/camel/Makefile.am (revision 0) +++ asn1/camel/Makefile.am (revision 0) @@ -0,0 +1,25 @@ +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@xxxxxxxxxxxxx> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +include Makefile.common +include ../Makefile.inc + Property changes on: asn1/camel/Makefile.am ___________________________________________________________________ Name: svn:keywords + Id Name: svn:eol-style + native Index: asn1/camel/Makefile =================================================================== --- asn1/camel/Makefile (revision 22931) +++ asn1/camel/Makefile (working copy) @@ -1,19 +0,0 @@ -# $Id$ - -PROTOCOL_NAME=camel -DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h -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 - python ../../tools/asn2wrs.py -b -X -T -L -e -k -p $(PROTOCOL_NAME) -c camel.cnf -s packet-$(PROTOCOL_NAME)-template $(ASN_FILE_LIST) - -clean: - rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES) - -copy_files: generate_dissector - cp $(DISSECTOR_FILES) ../../epan/dissectors Index: asn1/Makefile.inc =================================================================== --- asn1/Makefile.inc (revision 0) +++ asn1/Makefile.inc (revision 0) @@ -0,0 +1,47 @@ +# To be included into the asn1 Makefiles +# +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@xxxxxxxxxxxxx> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +all: generate_dissector + +generate_dissector: $(DISSECTOR_FILES) $(EXTRA_CNF) + +$(DISSECTOR_FILES): $(top_srcdir)/tools/asn2wrs.py $(SRC_FILES) + python $(top_srcdir)/tools/asn2wrs.py \ + $(A2W_FLAGS) \ + -p $(PROTOCOL_NAME) \ + -c $(srcdir)/$(PROTOCOL_NAME).cnf \ + -s $(srcdir)/packet-$(PROTOCOL_NAME)-template \ + -D $(srcdir) \ + $(ASN_FILE_LIST) + +copy_files: generate_dissector + cp $(DISSECTOR_FILES) $(top_srcdir)/epan/dissectors/ + +CLEANFILES = \ + parsetab.py \ + parsetab.pyc \ + $(DISSECTOR_FILES) \ + *-exp.cnf \ + packet-*-{dis-tab,ettarr,ett,fn,hfarr,hf,table*,val}.[hc] + Property changes on: asn1/Makefile.inc ___________________________________________________________________ Name: svn:keywords + Id Name: svn:eol-style + native Index: asn1/Makefile.am =================================================================== --- asn1/Makefile.am (revision 22931) +++ asn1/Makefile.am (working copy) @@ -21,6 +21,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +SUBDIRS = \ + camel + EXTRA_DIST = \ Makefile.nmake \ acp133/acp133.asn \ @@ -42,24 +45,6 @@ ansi_map/Makefile.nmake \ ansi_map/packet-ansi_map-template.c \ ansi_map/packet-ansi_map-template.h \ - camel/camel.asn \ - camel/CAP-classes.asn \ - camel/CAP-datatypes.asn \ - camel/CAP-errorcodes.asn \ - camel/CAP-errortypes.asn \ - camel/CAP-GPRS-ReferenceNumber.asn \ - camel/CAP-gprsSSF-gsmSCF-ops-args.asn \ - camel/CAP-gsmSCF-gsmSRF-ops-args.asn \ - camel/CAP-gsmSSF-gsmSCF-ops-args.asn \ - camel/CAP-object-identifiers.asn \ - camel/CAP-operationcodes.asn \ - camel/CAP-SMS-ops-args.asn \ - camel/CAP-U-ABORT-Data.asn \ - camel/camel.cnf \ - camel/Makefile \ - camel/Makefile.nmake \ - camel/packet-camel-template.c \ - camel/packet-camel-template.h \ cdt/cdt.asn \ cdt/cdt.cnf \ cdt/cdt-exp.cnf \
- Follow-Ups:
- Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- From: Joerg Mayer
- Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- From: Kukosa, Tomas
- Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- Prev by Date: Re: [Wireshark-dev] RFC: Revised Makefile(s) for asn1/ directory
- Next by Date: Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- Previous by thread: Re: [Wireshark-dev] add submenu into wireshark menu
- Next by thread: Re: [Wireshark-dev] RFC Try 2: Rework of Makefiles in asn1-directory
- Index(es):