Blame win/GNUmakefile

Packit 022b05
#
Packit 022b05
# GNUmakefile --
Packit 022b05
#
Packit 022b05
#	GNU Makefile for w32 VC++ environment.
Packit 022b05
# 
Packit 022b05
# Copyright (c) 2000-2005 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: GNUmakefile 2409 2005-05-30 13:14:21Z strauss $
Packit 022b05
Packit 022b05
##
Packit 022b05
## Project directories -- these may need to be customized for your site
Packit 022b05
##
Packit 022b05
## ROOT --	top of the source tree.
Packit 022b05
## TMPDIR --	location for .obj files.
Packit 022b05
## TOOLS32 --	location of VC++ compiler installation.
Packit 022b05
##
Packit 022b05
ROOT	= ./..
Packit 022b05
TMPDIR	= .
Packit 022b05
TOOLS32	= C:\PROGRA~1\MICROS~2\VC98
Packit 022b05
Packit 022b05
##
Packit 022b05
## Installation paths: 
Packit 022b05
##
Packit 022b05
## MIBROOT  -- definition for default search path (unix-style)
Packit 022b05
## MIBDIR   -- same in windows style
Packit 022b05
## BINDIR   -- destination for the binaries (smidump.exe, ...)
Packit 022b05
## LIBDIR   -- destination for the library (smi.lib)
Packit 022b05
##
Packit 022b05
MIBROOT = c:/smi/mibs
Packit 022b05
INSTROOT = c:\smi
Packit 022b05
MIBDIR = $(INSTROOT)\mibs
Packit 022b05
BINDIR = $(INSTROOT)\bin
Packit 022b05
LIBDIR = $(INSTROOT)\lib
Packit 022b05
Packit 022b05
##
Packit 022b05
## This include is for smidump_SOURCES definition.
Packit 022b05
##
Packit 022b05
include ../tools/Makefile.am
Packit 022b05
Packit 022b05
##
Packit 022b05
## Visual C++ tools
Packit 022b05
##
Packit 022b05
PATH := $(TOOLS32)\bin;$(PATH)
Packit 022b05
Packit 022b05
cc32	= cl
Packit 022b05
implib	= lib
Packit 022b05
CC      = $(cc32)
Packit 022b05
CFLAGS  = -nologo -W3 -DYY_NO_UNISTD_H
Packit 022b05
CC_INCL = #-I$(TOOLS32)/include
Packit 022b05
AR      = $(implib)
Packit 022b05
ARFLAGS = -nologo
Packit 022b05
CP      = copy
Packit 022b05
RM      = del
Packit 022b05
MKDIR	= md
Packit 022b05
Packit 022b05
##
Packit 022b05
## Definitions:
Packit 022b05
##
Packit 022b05
#DEBUG = -W3 -Zi -Od /Yd
Packit 022b05
INCLUDES = -I$(ROOT)/lib -I$(ROOT)/win $(CC_INCL)
Packit 022b05
DEFINES = $(DEBUG)
Packit 022b05
Packit 022b05
##
Packit 022b05
## Library objects
Packit 022b05
##
Packit 022b05
LIBSMIOBJS = $(patsubst %.c, %.obj, $(notdir $(wildcard ../lib/*.c))) win.obj \
Packit 022b05
	     shhopt.obj
Packit 022b05
Packit 022b05
##
Packit 022b05
## Tool objects
Packit 022b05
##
Packit 022b05
SMIQUERYOBJS = smiquery.obj
Packit 022b05
SMILINTOBJS  = smilint.obj
Packit 022b05
SMIDUMPOBJS  = $(filter-out %.h, $(smidump_SOURCES:.c=.obj))
Packit 022b05
Packit 022b05
##
Packit 022b05
## Targets
Packit 022b05
##
Packit 022b05
all:		libs tools
Packit 022b05
Packit 022b05
libs:		smi.lib
Packit 022b05
tools:		smiquery.exe smilint.exe smidump.exe
Packit 022b05
Packit 022b05
smi.lib:	$(LIBSMIOBJS)
Packit 022b05
smiquery.exe:	$(SMIQUERYOBJS) smi.lib
Packit 022b05
smilint.exe:	$(SMILINTOBJS) smi.lib
Packit 022b05
smidump.exe:	$(SMIDUMPOBJS) smi.lib
Packit 022b05
Packit 022b05
clean:
Packit 022b05
	del *.lib
Packit 022b05
	del *.obj
Packit 022b05
	del *.exe
Packit 022b05
	del *.ilk
Packit 022b05
	del *.pdb
Packit 022b05
	del *.mdp
Packit 022b05
Packit 022b05
install:	all install-doc install-bin install-lib install-mibs
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
## Generic rules
Packit 022b05
##
Packit 022b05
vpath %.c ../lib
Packit 022b05
vpath %.c ../tools
Packit 022b05
Packit 022b05
%.obj : %.c
Packit 022b05
	$(CC) $(CFLAGS) -c $(INCLUDES) $(DEFINES) -Fo$@ $<
Packit 022b05
Packit 022b05
%.exe :
Packit 022b05
	$(CC) $(CFLAGS) $(DEFINES) -o $(notdir $@) $^
Packit 022b05
Packit 022b05
%.lib :
Packit 022b05
	$(AR) $(ARFLAGS) -out:$(notdir $@) $^ 
Packit 022b05
Packit 022b05
##
Packit 022b05
## Special compilation rules for scanner files
Packit 022b05
##
Packit 022b05
scanner-objs = scanner-smi.obj scanner-sming.obj
Packit 022b05
Packit 022b05
$(scanner-objs) : %.obj : %.c
Packit 022b05
	$(CC) -c $(CFLAGS) -D__STDC__ $(INCLUDES) $(DEFINES) -Fo$@ $<
Packit 022b05