1#
2# Makefile.mingw --
3#
4#       Makefile for win32 mingw environment.
5#
6# See the file "COPYING" for information on usage and redistribution
7# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
8#
9# @(#) $Id: Makefile.mingw 7949 2008-03-22 16:19:33Z schoenw $
10#
11
12##
13## Installation paths:
14##
15## MIBDIR   -- MIB destination (let it end with /mibs; check againt config.h)
16## PIBDIR   -- MIB destination (let it end with /pibs; check againt config.h)
17## BINDIR   -- destination for the binaries (smidump.exe, ...)
18##
19# INSTROOT = c:\smi
20INSTROOT = c/smi
21MIBDIR = $(INSTROOT)/mibs
22PIBDIR = $(INSTROOT)/pibs
23BINDIR = $(INSTROOT)/bin
24LIBDIR = $(INSTROOT)/lib
25
26##
27## Commands:
28##
29
30##
31## Linux cross-compile is now the way to go.
32## compilation within win-environment works, but you need to
33## change path an options settings to get installation work.
34##
35# CC	= gcc
36# CP	= copy
37# RM      = del
38# AR	= ar
39# MKDIR	= -mkdir
40
41##
42## Debian Linux mingw cross-compiler version:
43##
44CC	= i586-mingw32msvc-gcc
45CP	= cp
46RM	= rm -f
47AR	= i586-mingw32msvc-ar
48MKDIR	= -mkdir
49
50##
51## Definitions:
52##
53CFLAGS = -O2 -Wall
54INCLUDES = -I. -I../lib -I../tools
55
56##
57## Global Makefile settings
58##
59LIBSMIOBJS = \
60	win.o \
61	data.o \
62	check.o \
63	error.o \
64	util.o \
65	smi.o \
66	parser-smi.o \
67	scanner-smi.o \
68	parser-sming.o \
69	scanner-sming.o \
70	snprintf.o
71
72TOOLSOBJS = \
73	smiquery.o \
74	smilint.o \
75	smidump.o \
76	smidiff.o \
77	smixlate.o \
78	shhopt.o \
79	fprint.o \
80	fortopat.o \
81	rea.o \
82 	dstring.o \
83	dump-sming.o \
84	dump-smi.o \
85	dump-imports.o \
86	dump-types.o \
87	dump-tree.o \
88	dump-mosy.o \
89	dump-corba.o \
90	dump-cm.o \
91	dump-jax.o \
92	dump-netsnmp.o \
93	dump-xml.o \
94	dump-identifiers.o \
95	dump-metrics.o \
96	dump-python.o \
97	dump-perl.o \
98	dump-scli.o \
99	dump-xsd.o \
100	dump-sppi.o \
101	dump-sizes.o \
102	dump-svg.o \
103	dump-compliance.o \
104	dump-yang.o \
105	dump-boilerplate.o
106#	dump-smiv3.o
107#	dump-fig.o
108
109SMILIB = libsmi.a
110
111##
112## Implicit Targets
113##
114VPATH = .:../lib:../tools
115.c.o:
116	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
117
118
119##
120## Targets
121##
122all:	libs tools
123
124libs:	$(SMILIB)
125
126$(SMILIB):	$(LIBSMIOBJS)
127	$(AR) -ruv $(SMILIB) $(LIBSMIOBJS)
128
129tools:	smiquery.exe smilint.exe smidump.exe smidiff.exe smixlate.exe
130
131smiquery.exe:	$(TOOLSOBJS) $(SMILIB)
132	$(CC) $(CFLAGS) -o smiquery.exe smiquery.o shhopt.o $(SMILIB)
133
134smilint.exe:	$(TOOLSOBJS) $(SMILIB)
135	$(CC) $(CFLAGS) -o smilint.exe smilint.o shhopt.o $(SMILIB)
136
137smidump.exe:	$(TOOLSOBJS) $(SMILIB)
138	$(CC) $(CFLAGS) \
139		-o smidump.exe smidump.o dump-sming.o dump-smi.o \
140		dump-imports.o dump-types.o dump-tree.o dump-mosy.o \
141		dump-corba.o dump-netsnmp.o dump-cm.o dump-jax.o dump-xml.o \
142		dump-identifiers.o dump-metrics.o dump-python.o dump-perl.o \
143		dump-scli.o dump-xsd.o dump-sppi.o dump-sizes.o dump-svg.o \
144		dump-compliance.o dump-yang.o dump-boilerplate.o \
145		shhopt.o fprint.o fortopat.o rea.o $(SMILIB)
146
147smidiff.exe:	$(TOOLSOBJS) $(SMILIB)
148	$(CC) $(CFLAGS) -o smidiff.exe smidiff.o shhopt.o $(SMILIB)
149
150smixlate.exe:	$(TOOLSOBJS) $(SMILIB)
151	$(CC) $(CFLAGS) -o smixlate.exe smixlate.o shhopt.o dstring.o $(SMILIB)
152
153clean:
154	$(RM) *.o
155	$(RM) *.a
156	$(RM) *.exe
157
158install:	all install-doc install-bin install-mibs install-pibs
159
160install-doc:
161	$(MKDIR) $(INSTROOT)
162	$(CP) ../README $(INSTROOT)
163	$(CP) ../COPYING $(INSTROOT)
164	$(CP) ../ChangeLog $(INSTROOT)
165	$(CP) ../THANKS $(INSTROOT)
166	$(CP) ../TODO $(INSTROOT)
167	$(CP) README.mingw $(INSTROOT)
168	$(MKDIR) $(INSTROOT)/doc
169	-$(CP) ../doc/*.txt $(INSTROOT)/doc
170	-$(CP) ../doc/*.ps $(INSTROOT)/doc
171	-$(CP) ../doc/smi* $(INSTROOT)/doc
172
173install-bin:
174	$(MKDIR) $(BINDIR)
175	$(CP) *.exe $(BINDIR)
176	$(MKDIR) $(LIBDIR)
177	$(CP) *.a $(LIBDIR)
178
179install-mibs:
180	$(MKDIR) $(MIBDIR)
181	$(MKDIR) $(MIBDIR)/iana
182	-$(CP) ../mibs/iana/* $(MIBDIR)/iana
183	$(MKDIR) $(MIBDIR)/ietf
184	-$(CP) ../mibs/ietf/* $(MIBDIR)/ietf
185	$(MKDIR) $(MIBDIR)/irtf
186	-$(CP) ../mibs/irtf/* $(MIBDIR)/irtf
187	$(MKDIR) $(MIBDIR)/tubs
188	-$(CP) ../mibs/tubs/* $(MIBDIR)/tubs
189	$(MKDIR) $(MIBDIR)/site
190	-$(CP) ../mibs/site/* $(MIBDIR)/site
191
192install-pibs:
193	$(MKDIR) $(PIBDIR)
194	$(MKDIR) $(PIBDIR)/ietf
195	-$(CP) ../pibs/ietf/* $(PIBDIR)/ietf
196	$(MKDIR) $(PIBDIR)/tubs
197	-$(CP) ../pibs/tubs/* $(PIBDIR)/tubs
198	$(MKDIR) $(PIBDIR)/site
199	-$(CP) ../pibs/site/* $(PIBDIR)/site
200
201zip: install
202	(cd c; zip -r ../libsmi.zip .)
203
204##
205