diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2004-07-18 20:21:20 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2004-07-18 20:21:20 +0000 |
commit | 4fdb83056924de6c937b1ce2df9fdfe294683f97 (patch) | |
tree | 3c7768b58064e624e6f3ab7b03cdaf10490f9498 /epan | |
parent | 0e754b672553d9f640c8226df41bb7c781fcdec2 (diff) |
first attempt to make Win32 generation (nmake) ready for the dissector movings (but still incomplete)
svn path=/trunk/; revision=11415
Diffstat (limited to 'epan')
-rw-r--r-- | epan/Makefile.nmake | 41 | ||||
-rw-r--r-- | epan/dissectors/Makefile.nmake | 67 |
2 files changed, 66 insertions, 42 deletions
diff --git a/epan/Makefile.nmake b/epan/Makefile.nmake index b6e52cf18c..4c32f050b5 100644 --- a/epan/Makefile.nmake +++ b/epan/Makefile.nmake @@ -49,7 +49,6 @@ OBJECTS=addr_and_mask.obj \ packet.obj \ plugins.obj \ proto.obj \ - register.obj \ resolv.obj \ sna-utils.obj \ strutil.obj \ @@ -129,43 +128,3 @@ doxygen-run: doxygen: doxygen.cfg doxygen-run -# -# Build "register.c", which contains a function "register_all_protocols()" -# that calls the register routines for all protocols. -# -# We do this by grepping through sources. If that turns out to be too slow, -# maybe we could just require every .o file to have an register routine -# of a given name (packet-aarp.o -> proto_register_aarp, etc.). -# -# Formatting conventions: The name of the proto_register_* routines must -# start in column zero, or must be preceded only by "void " starting in -# column zero, and must not be inside #if. -# -# We assume that all dissector routines are in "packet-XXX.c" files. -# -# For some unknown reason, having a big "for" loop in the Makefile -# to scan all the "packet-XXX.c" files doesn't work with some "make"s; -# they seem to pass only the first few names in the list to the shell, -# for some reason. -# -# Therefore, we have a script to generate the "register.c" file. -# -# The first argument is the name of the file to write. -# The second argument is the directory in which the source files live. -# All subsequent arguments are the files to scan. -# -# On Windows, however, that script runs slowly, as multiple greps -# and seds are run for each input file, so, if Python is present -# (as indicated by PYTHON being defined), we run a faster Python -# script to do that work instead. That script doesn't take the name -# of the file to write as an argument; it always writes to -# "register.c". -# -register.c: $(DISSECTOR_SRC) -!IFDEF PYTHON - @echo Making register.c (using python) - @$(PYTHON) ..\make-reg-dotc.py . $(DISSECTOR_SRC) -!ELSE - @echo Making register.c (using sh) - @$(SH) ../make-reg-dotc register.c . $(DISSECTOR_SRC) -!ENDIF diff --git a/epan/dissectors/Makefile.nmake b/epan/dissectors/Makefile.nmake index 587843048d..934571ee58 100644 --- a/epan/dissectors/Makefile.nmake +++ b/epan/dissectors/Makefile.nmake @@ -22,9 +22,74 @@ DISSECTOR_SUPPORT_SRC = $(DISSECTOR_SUPPORT_SRC:../=) DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj) #dissectors.lib: ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) $(EXTRA_OBJECTS) -dissectors.lib: ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) +dissectors.lib: register.obj packet-ncp2222.c x11-declarations.h x11-register-info.h ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) link /lib /out:dissectors.lib $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) +# +# The header files listed here are built from x11-fields using Perl; +# we declare a dependency here so that they get built. +# +packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h + +# +# Build various header files for the X11 dissector. +# +x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl + $(PERL) process-x11-fields.pl <x11-fields + + +# +# Build "register.c", which contains a function "register_all_protocols()" +# that calls the register routines for all protocols. +# +# We do this by grepping through sources. If that turns out to be too slow, +# maybe we could just require every .o file to have an register routine +# of a given name (packet-aarp.o -> proto_register_aarp, etc.). +# +# Formatting conventions: The name of the proto_register_* routines must +# start in column zero, or must be preceded only by "void " starting in +# column zero, and must not be inside #if. +# +# We assume that all dissector routines are in "packet-XXX.c" files. +# +# For some unknown reason, having a big "for" loop in the Makefile +# to scan all the "packet-XXX.c" files doesn't work with some "make"s; +# they seem to pass only the first few names in the list to the shell, +# for some reason. +# +# Therefore, we have a script to generate the "register.c" file. +# +# The first argument is the name of the file to write. +# The second argument is the directory in which the source files live. +# All subsequent arguments are the files to scan. +# +# On Windows, however, that script runs slowly, as multiple greps +# and seds are run for each input file, so, if Python is present +# (as indicated by PYTHON being defined), we run a faster Python +# script to do that work instead. That script doesn't take the name +# of the file to write as an argument; it always writes to +# "register.c". +# +register.c: $(DISSECTOR_SRC) +!IFDEF PYTHON + @echo Making register.c (using python) + @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC) +!ELSE + @echo Making register.c (using sh) + @$(SH) make-reg-dotc register.c . $(DISSECTOR_SRC) +!ENDIF + +packet-ncp2222.c : ncp2222.py +!IFDEF PYTHON + @echo Making packet-ncp2222.c + $(PYTHON) ncp2222.py -o packet-ncp2222.c +!ELSE + @echo Faking packet-ncp2222.c... + @echo Python is required to build the NCP disector + @echo Hiding packet-ncp.c... + mv packet-ncp.c packet-ncp.c.save + touch packet-ncp.c $@ +!ENDIF clean: rm -f dissectors.lib $(PDB_FILE) \ |