Blame win/makefile

Packit 022b05
#
Packit 022b05
# makefile --
Packit 022b05
#
Packit 022b05
#       Makefile for VC++ (tested with version 6.0) for compiling
Packit 022b05
#	libsmi and associated tools natively under Win32.
Packit 022b05
#
Packit 022b05
# Copyright (c) 2000-2008 Yigal Hochberg, DMH Software.
Packit 022b05
# Copyright (c) 2000 E. Schoenfelder, Gaertner Datensysteme Braunschweig.
Packit 022b05
# Copyright (c) 2000 J. Schoenwaelder, Technical University of Braunschweig.
Packit 022b05
#
Packit 022b05
# See the file "COPYING" for information on usage and redistribution
Packit 022b05
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Packit 022b05
#
Packit 022b05
# @(#) $Id: makefile 8084 2008-04-18 07:51:26Z schoenw $
Packit 022b05

Packit 022b05
!include "config.nmake"
Packit 022b05
!include <win32.mak>
Packit 022b05

Packit 022b05

Packit 022b05
!IFDEF ENABLE_LIBSMI_DLL
Packit 022b05
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL /MD
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05

Packit 022b05

Packit 022b05
## 
Packit 022b05
## Global makefile settings
Packit 022b05
##
Packit 022b05

Packit 022b05
LIBSMIOBJS =					\
Packit 022b05
	$(TMPDIR)\win.obj			\
Packit 022b05
	$(TMPDIR)\shhopt.obj			\
Packit 022b05
	$(TMPDIR)\data.obj			\
Packit 022b05
	$(TMPDIR)\check.obj			\
Packit 022b05
	$(TMPDIR)\error.obj			\
Packit 022b05
	$(TMPDIR)\util.obj			\
Packit 022b05
	$(TMPDIR)\smi.obj			\
Packit 022b05
	$(TMPDIR)\parser-smi.obj		\
Packit 022b05
	$(TMPDIR)\scanner-smi.obj		\
Packit 022b05
	$(TMPDIR)\parser-sming.obj		\
Packit 022b05
	$(TMPDIR)\scanner-sming.obj		\
Packit 022b05
	$(TMPDIR)\snprintf.obj
Packit 022b05

Packit 022b05
SMIQUERYOBJS =					\
Packit 022b05
	$(TMPDIR)\smiquery.obj \
Packit 022b05

Packit 022b05
SMILINTOBJS =					\
Packit 022b05
	$(TMPDIR)\smilint.obj			\
Packit 022b05

Packit 022b05
SMIXLATEOBJS =					\
Packit 022b05
	$(TMPDIR)\smixlate.obj			\
Packit 022b05
	$(TMPDIR)\dstring.obj			\
Packit 022b05

Packit 022b05
SMIDUMPOBJS =					\
Packit 022b05
	$(TMPDIR)\smidump.obj			\
Packit 022b05
	$(TMPDIR)\dump-sming.obj		\
Packit 022b05
	$(TMPDIR)\dump-smi.obj			\
Packit 022b05
	$(TMPDIR)\dump-imports.obj		\
Packit 022b05
	$(TMPDIR)\dump-types.obj		\
Packit 022b05
	$(TMPDIR)\dump-tree.obj			\
Packit 022b05
	$(TMPDIR)\dump-mosy.obj			\
Packit 022b05
	$(TMPDIR)\dump-corba.obj		\
Packit 022b05
	$(TMPDIR)\dump-netsnmp.obj		\
Packit 022b05
	$(TMPDIR)\dump-jax.obj			\
Packit 022b05
	$(TMPDIR)\dump-xml.obj			\
Packit 022b05
	$(TMPDIR)\dump-cm.obj			\
Packit 022b05
	$(TMPDIR)\dump-metrics.obj		\
Packit 022b05
	$(TMPDIR)\dump-identifiers.obj		\
Packit 022b05
	$(TMPDIR)\dump-python.obj		\
Packit 022b05
	$(TMPDIR)\dump-perl.obj			\
Packit 022b05
	$(TMPDIR)\dump-scli.obj			\
Packit 022b05
	$(TMPDIR)\dump-xsd.obj			\
Packit 022b05
	$(TMPDIR)\dump-sppi.obj			\
Packit 022b05
	$(TMPDIR)\dump-sizes.obj		\
Packit 022b05
	$(TMPDIR)\dump-svg.obj			\
Packit 022b05
	$(TMPDIR)\dump-compliance.obj		\
Packit 022b05
	$(TMPDIR)\dump-boilerplate.obj		\
Packit 022b05
	$(TMPDIR)\dump-yang.obj			\
Packit 022b05
	$(TMPDIR)\fprint.obj			\
Packit 022b05
	$(TMPDIR)\rea.obj			\
Packit 022b05
	$(TMPDIR)\fortopat.obj			
Packit 022b05

Packit 022b05
SMIDIFFOBJS =					\
Packit 022b05
	$(TMPDIR)\smidiff.obj			\
Packit 022b05

Packit 022b05
SMILIB = smi.lib
Packit 022b05
SMIDLL = smi.dll
Packit 022b05

Packit 022b05
##
Packit 022b05
## Implicit Targets
Packit 022b05
##
Packit 022b05
.c.obj:
Packit 022b05
	$(cc32) $(cdebug) $(cflags) $(INCLUDES) \
Packit 022b05
		$(DEFINES) -Fo$(TMPDIR)\ $<
Packit 022b05

Packit 022b05
{$(ROOT)\lib}.c{$(TMPDIR)}.obj:
Packit 022b05
	$(cc32) $(cdebug) $(cflags) $(CVARSDLL) $(INCLUDES) \
Packit 022b05
		-DYYMALLOC=malloc -DYYFREE=free \
Packit 022b05
		$(DEFINES) -Fo$(TMPDIR)\ $<
Packit 022b05

Packit 022b05
{$(ROOT)\tools}.c{$(TMPDIR)}.obj:
Packit 022b05
	$(cc32) $(cdebug) $(cflags) $(CVARSDLL) $(INCLUDES) \
Packit 022b05
		$(DEFINES) -Fo$(TMPDIR)\ $<
Packit 022b05

Packit 022b05
##
Packit 022b05
## Targets
Packit 022b05
##
Packit 022b05
all:	libs tools
Packit 022b05

Packit 022b05
!IFDEF ENABLE_LIBSMI_DLL
Packit 022b05
libs:	$(SMILIB) $(SMIDLL)
Packit 022b05
!ELSE
Packit 022b05
libs:	$(SMILIB)
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05

Packit 022b05
# special compilation rules
Packit 022b05
# (flex-src avoids missing unistd.h if _Win32 defined)
Packit 022b05
#
Packit 022b05
$(TMPDIR)\scanner-smi.obj : $(ROOT)\lib\scanner-smi.c
Packit 022b05
	$(cc32) $(cdebug) $(cflags) $(CVARSDLL) -D_Win32 -D__STDC__ $(INCLUDES) \
Packit 022b05
		-DYY_NEVER_INTERACTIVE \
Packit 022b05
		$(DEFINES) -Fo$(TMPDIR)\ $?
Packit 022b05

Packit 022b05
$(TMPDIR)\scanner-sming.obj : $(ROOT)\lib\scanner-sming.c
Packit 022b05
	$(cc32) $(cdebug) $(cflags) $(CVARSDLL) -D_Win32 -D__STDC__ $(INCLUDES) \
Packit 022b05
		-DYY_NEVER_INTERACTIVE \
Packit 022b05
		$(DEFINES) -Fo$(TMPDIR)\ $?
Packit 022b05

Packit 022b05
$(SMIDLL): $(SMILIB)
Packit 022b05
        $(link)  $(dlllflags) $(conlibsdll) /NODEFAULTLIB /machine:i386 msvcrt.lib shell32.lib version.lib /DEBUG /DEF:smi.def /OUT:smi.dll  /IMPLIB:smi.lib   $(LIBSMIOBJS)
Packit 022b05
!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
Packit 022b05
	mt.exe -nologo -manifest "smi.dll.manifest" -outputresource:smi.dll;1
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05
$(SMILIB):	$(LIBSMIOBJS)
Packit 022b05
	$(implib) /out:smi.lib $(LIBSMIOBJS)
Packit 022b05

Packit 022b05
tools:	smiquery.exe smilint.exe smixlate.exe smidump.exe smidiff.exe
Packit 022b05

Packit 022b05
smiquery.exe:	$(SMIQUERYOBJS) $(SMILIB)
Packit 022b05
	$(cc32) $(DEFINES) /osmiquery.exe $(SMIQUERYOBJS) $(SMILIB)
Packit 022b05
!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
Packit 022b05
	mt.exe -nologo -manifest "smiquery.exe.manifest" -outputresource:smiquery.exe;1
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05
smilint.exe:	$(SMILINTOBJS) $(SMILIB)
Packit 022b05
	$(cc32) $(DEFINES) /osmilint.exe $(SMILINTOBJS) $(SMILIB)
Packit 022b05
!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
Packit 022b05
	mt.exe -nologo -manifest "smilint.exe.manifest" -outputresource:smilint.exe;1
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05
smidump.exe:	$(SMIDUMPOBJS) $(SMILIB)
Packit 022b05
	$(cc32) $(DEFINES) \
Packit 022b05
		/osmidump.exe $(SMIDUMPOBJS) $(SMILIB)
Packit 022b05
!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
Packit 022b05
	mt.exe -nologo -manifest "smidump.exe.manifest" -outputresource:smidump.exe;1
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05
smidiff.exe:	$(SMIDIFFOBJS) $(SMILIB)
Packit 022b05
	$(cc32) $(DEFINES) \
Packit 022b05
		/osmidiff.exe $(SMIDIFFOBJS) $(SMILIB)
Packit 022b05
!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
Packit 022b05
	mt.exe -nologo -manifest "smidiff.exe.manifest" -outputresource:smidiff.exe;1
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05
smixlate.exe:	$(SMIXLATEOBJS) $(SMILIB)
Packit 022b05
	$(cc32) $(DEFINES) \
Packit 022b05
		/osmixlate.exe $(SMIXLATEOBJS) $(SMILIB)
Packit 022b05
!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
Packit 022b05
	mt.exe -nologo -manifest "smixlate.exe.manifest" -outputresource:smixlate.exe;1
Packit 022b05
!ENDIF
Packit 022b05

Packit 022b05
clean:
Packit 022b05
	rm -f *.lib
Packit 022b05
	rm -f *.obj
Packit 022b05
	rm -f *.exe
Packit 022b05
	rm -f *.ilk
Packit 022b05
	rm -f *.pdb
Packit 022b05
	rm -f *.mdp
Packit 022b05
	rm -f *.dll
Packit 022b05
	rm -f *.exp
Packit 022b05

Packit 022b05
install:	all install-doc install-bin install-lib install-mibs install-pibs
Packit 022b05

Packit 022b05
install-doc:
Packit 022b05
	$(MKDIR) $(INSTROOT)
Packit 022b05
	$(CP) ..\README $(INSTROOT)
Packit 022b05
	$(CP) ..\COPYING $(INSTROOT)
Packit 022b05
	$(CP) README.win $(INSTROOT)
Packit 022b05
	$(MKDIR) $(INSTROOT)\doc
Packit 022b05
	$(CP) ..\doc\*.txt $(INSTROOT)\doc
Packit 022b05
	-$(CP) ..\doc\*.ps $(INSTROOT)\doc
Packit 022b05

Packit 022b05
install-bin:
Packit 022b05
	$(MKDIR) $(BINDIR)
Packit 022b05
	$(CP) *.exe $(BINDIR)
Packit 022b05

Packit 022b05
install-lib:
Packit 022b05
	$(MKDIR) $(LIBDIR)
Packit 022b05
	$(CP) *.lib $(LIBDIR)
Packit 022b05

Packit 022b05
install-mibs:
Packit 022b05
	$(MKDIR) $(MIBDIR)
Packit 022b05
	$(MKDIR) $(MIBDIR)\iana
Packit 022b05
	$(CP) ..\mibs\iana\*.* $(MIBDIR)\iana
Packit 022b05
	$(MKDIR) $(MIBDIR)\ietf
Packit 022b05
	$(CP) ..\mibs\ietf\*.* $(MIBDIR)\ietf
Packit 022b05
	$(MKDIR) $(MIBDIR)\irtf
Packit 022b05
	$(CP) ..\mibs\irtf\*.* $(MIBDIR)\irtf
Packit 022b05
	$(MKDIR) $(MIBDIR)\tubs
Packit 022b05
	$(CP) ..\mibs\tubs\*.* $(MIBDIR)\tubs
Packit 022b05
	$(MKDIR) $(MIBDIR)\site
Packit 022b05

Packit 022b05

Packit 022b05
install-pibs:
Packit 022b05
	$(MKDIR) $(PIBDIR)
Packit 022b05
	$(MKDIR) $(PIBDIR)\ietf
Packit 022b05
	$(CP) ..\pibs\ietf\*.* $(PIBDIR)\ietf
Packit 022b05
	$(MKDIR) $(PIBDIR)\tubs
Packit 022b05
	$(CP) ..\pibs\tubs\*.* $(PIBDIR)\tubs
Packit 022b05
	$(MKDIR) $(PIBDIR)\site
Packit 022b05

Packit 022b05
# !include "local.nmake"
Packit 022b05

Packit 022b05
#
Packit 022b05
# Local Variables:
Packit 022b05
# mode: makefile
Packit 022b05
# make: "nmake"
Packit 022b05
# eval: (set (make-local-variable 'this-file) (file-name-nondirectory buffer-file-name))
Packit 022b05
# eval: (set (make-local-variable 'compile-command) (concat make " -k -f " this-file))
Packit 022b05
# End:
Packit 022b05
#
Packit 022b05

Packit 022b05

Packit 022b05
# EOF: makefile