# # GNUmakefile -- # # GNU Makefile for w32 VC++ environment. # # Copyright (c) 2000-2005 Yigal Hochberg, DMH Software. # Copyright (c) 2000 E. Schoenfelder, Gaertner Datensysteme Braunschweig. # Copyright (c) 2000 J. Schoenwaelder, Technical University of Braunschweig. # # See the file "COPYING" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # @(#) $Id: GNUmakefile 2409 2005-05-30 13:14:21Z strauss $ ## ## Project directories -- these may need to be customized for your site ## ## ROOT -- top of the source tree. ## TMPDIR -- location for .obj files. ## TOOLS32 -- location of VC++ compiler installation. ## ROOT = ./.. TMPDIR = . TOOLS32 = C:\PROGRA~1\MICROS~2\VC98 ## ## Installation paths: ## ## MIBROOT -- definition for default search path (unix-style) ## MIBDIR -- same in windows style ## BINDIR -- destination for the binaries (smidump.exe, ...) ## LIBDIR -- destination for the library (smi.lib) ## MIBROOT = c:/smi/mibs INSTROOT = c:\smi MIBDIR = $(INSTROOT)\mibs BINDIR = $(INSTROOT)\bin LIBDIR = $(INSTROOT)\lib ## ## This include is for smidump_SOURCES definition. ## include ../tools/Makefile.am ## ## Visual C++ tools ## PATH := $(TOOLS32)\bin;$(PATH) cc32 = cl implib = lib CC = $(cc32) CFLAGS = -nologo -W3 -DYY_NO_UNISTD_H CC_INCL = #-I$(TOOLS32)/include AR = $(implib) ARFLAGS = -nologo CP = copy RM = del MKDIR = md ## ## Definitions: ## #DEBUG = -W3 -Zi -Od /Yd INCLUDES = -I$(ROOT)/lib -I$(ROOT)/win $(CC_INCL) DEFINES = $(DEBUG) ## ## Library objects ## LIBSMIOBJS = $(patsubst %.c, %.obj, $(notdir $(wildcard ../lib/*.c))) win.obj \ shhopt.obj ## ## Tool objects ## SMIQUERYOBJS = smiquery.obj SMILINTOBJS = smilint.obj SMIDUMPOBJS = $(filter-out %.h, $(smidump_SOURCES:.c=.obj)) ## ## Targets ## all: libs tools libs: smi.lib tools: smiquery.exe smilint.exe smidump.exe smi.lib: $(LIBSMIOBJS) smiquery.exe: $(SMIQUERYOBJS) smi.lib smilint.exe: $(SMILINTOBJS) smi.lib smidump.exe: $(SMIDUMPOBJS) smi.lib clean: del *.lib del *.obj del *.exe del *.ilk del *.pdb del *.mdp install: all install-doc install-bin install-lib install-mibs install-doc: $(MKDIR) $(INSTROOT) $(CP) ..\README $(INSTROOT) $(CP) ..\COPYING $(INSTROOT) $(CP) README.win $(INSTROOT) $(MKDIR) $(INSTROOT)\doc $(CP) ..\doc\*.txt $(INSTROOT)\doc $(CP) ..\doc\*.ps $(INSTROOT)\doc install-bin: $(MKDIR) $(BINDIR) $(CP) *.exe $(BINDIR) install-lib: $(MKDIR) $(LIBDIR) $(CP) *.lib $(LIBDIR) install-mibs: $(MKDIR) $(MIBDIR) $(MKDIR) $(MIBDIR)\iana $(CP) ..\mibs\iana\*.* $(MIBDIR)\iana $(MKDIR) $(MIBDIR)\ietf $(CP) ..\mibs\ietf\*.* $(MIBDIR)\ietf $(MKDIR) $(MIBDIR)\irtf $(CP) ..\mibs\irtf\*.* $(MIBDIR)\irtf $(MKDIR) $(MIBDIR)\tubs $(CP) ..\mibs\tubs\*.* $(MIBDIR)\tubs $(MKDIR) $(MIBDIR)\site ## ## Generic rules ## vpath %.c ../lib vpath %.c ../tools %.obj : %.c $(CC) $(CFLAGS) -c $(INCLUDES) $(DEFINES) -Fo$@ $< %.exe : $(CC) $(CFLAGS) $(DEFINES) -o $(notdir $@) $^ %.lib : $(AR) $(ARFLAGS) -out:$(notdir $@) $^ ## ## Special compilation rules for scanner files ## scanner-objs = scanner-smi.obj scanner-sming.obj $(scanner-objs) : %.obj : %.c $(CC) -c $(CFLAGS) -D__STDC__ $(INCLUDES) $(DEFINES) -Fo$@ $<