#
# Makefile.mingw --
#
# Makefile for win32 mingw environment.
#
# See the file "COPYING" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# @(#) $Id: Makefile.mingw 7949 2008-03-22 16:19:33Z schoenw $
#
##
## Installation paths:
##
## MIBDIR -- MIB destination (let it end with /mibs; check againt config.h)
## PIBDIR -- MIB destination (let it end with /pibs; check againt config.h)
## BINDIR -- destination for the binaries (smidump.exe, ...)
##
# INSTROOT = c:\smi
INSTROOT = c/smi
MIBDIR = $(INSTROOT)/mibs
PIBDIR = $(INSTROOT)/pibs
BINDIR = $(INSTROOT)/bin
LIBDIR = $(INSTROOT)/lib
##
## Commands:
##
##
## Linux cross-compile is now the way to go.
## compilation within win-environment works, but you need to
## change path an options settings to get installation work.
##
# CC = gcc
# CP = copy
# RM = del
# AR = ar
# MKDIR = -mkdir
##
## Debian Linux mingw cross-compiler version:
##
CC = i586-mingw32msvc-gcc
CP = cp
RM = rm -f
AR = i586-mingw32msvc-ar
MKDIR = -mkdir
##
## Definitions:
##
CFLAGS = -O2 -Wall
INCLUDES = -I. -I../lib -I../tools
##
## Global Makefile settings
##
LIBSMIOBJS = \
win.o \
data.o \
check.o \
error.o \
util.o \
smi.o \
parser-smi.o \
scanner-smi.o \
parser-sming.o \
scanner-sming.o \
snprintf.o
TOOLSOBJS = \
smiquery.o \
smilint.o \
smidump.o \
smidiff.o \
smixlate.o \
shhopt.o \
fprint.o \
fortopat.o \
rea.o \
dstring.o \
dump-sming.o \
dump-smi.o \
dump-imports.o \
dump-types.o \
dump-tree.o \
dump-mosy.o \
dump-corba.o \
dump-cm.o \
dump-jax.o \
dump-netsnmp.o \
dump-xml.o \
dump-identifiers.o \
dump-metrics.o \
dump-python.o \
dump-perl.o \
dump-scli.o \
dump-xsd.o \
dump-sppi.o \
dump-sizes.o \
dump-svg.o \
dump-compliance.o \
dump-yang.o \
dump-boilerplate.o
# dump-smiv3.o
# dump-fig.o
SMILIB = libsmi.a
##
## Implicit Targets
##
VPATH = .:../lib:../tools
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
##
## Targets
##
all: libs tools
libs: $(SMILIB)
$(SMILIB): $(LIBSMIOBJS)
$(AR) -ruv $(SMILIB) $(LIBSMIOBJS)
tools: smiquery.exe smilint.exe smidump.exe smidiff.exe smixlate.exe
smiquery.exe: $(TOOLSOBJS) $(SMILIB)
$(CC) $(CFLAGS) -o smiquery.exe smiquery.o shhopt.o $(SMILIB)
smilint.exe: $(TOOLSOBJS) $(SMILIB)
$(CC) $(CFLAGS) -o smilint.exe smilint.o shhopt.o $(SMILIB)
smidump.exe: $(TOOLSOBJS) $(SMILIB)
$(CC) $(CFLAGS) \
-o smidump.exe smidump.o dump-sming.o dump-smi.o \
dump-imports.o dump-types.o dump-tree.o dump-mosy.o \
dump-corba.o dump-netsnmp.o dump-cm.o dump-jax.o dump-xml.o \
dump-identifiers.o dump-metrics.o dump-python.o dump-perl.o \
dump-scli.o dump-xsd.o dump-sppi.o dump-sizes.o dump-svg.o \
dump-compliance.o dump-yang.o dump-boilerplate.o \
shhopt.o fprint.o fortopat.o rea.o $(SMILIB)
smidiff.exe: $(TOOLSOBJS) $(SMILIB)
$(CC) $(CFLAGS) -o smidiff.exe smidiff.o shhopt.o $(SMILIB)
smixlate.exe: $(TOOLSOBJS) $(SMILIB)
$(CC) $(CFLAGS) -o smixlate.exe smixlate.o shhopt.o dstring.o $(SMILIB)
clean:
$(RM) *.o
$(RM) *.a
$(RM) *.exe
install: all install-doc install-bin install-mibs install-pibs
install-doc:
$(MKDIR) $(INSTROOT)
$(CP) ../README $(INSTROOT)
$(CP) ../COPYING $(INSTROOT)
$(CP) ../ChangeLog $(INSTROOT)
$(CP) ../THANKS $(INSTROOT)
$(CP) ../TODO $(INSTROOT)
$(CP) README.mingw $(INSTROOT)
$(MKDIR) $(INSTROOT)/doc
-$(CP) ../doc/*.txt $(INSTROOT)/doc
-$(CP) ../doc/*.ps $(INSTROOT)/doc
-$(CP) ../doc/smi* $(INSTROOT)/doc
install-bin:
$(MKDIR) $(BINDIR)
$(CP) *.exe $(BINDIR)
$(MKDIR) $(LIBDIR)
$(CP) *.a $(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
-$(CP) ../mibs/site/* $(MIBDIR)/site
install-pibs:
$(MKDIR) $(PIBDIR)
$(MKDIR) $(PIBDIR)/ietf
-$(CP) ../pibs/ietf/* $(PIBDIR)/ietf
$(MKDIR) $(PIBDIR)/tubs
-$(CP) ../pibs/tubs/* $(PIBDIR)/tubs
$(MKDIR) $(PIBDIR)/site
-$(CP) ../pibs/site/* $(PIBDIR)/site
zip: install
(cd c; zip -r ../libsmi.zip .)
##