Makefile.NetWare
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:8k
源码类别:

SNMP编程

开发平台:

C/C++

  1. # Gnu Makefile for NetWare rateup.nlm target * 04-Sep-2005
  2. # for use with gcc/nlmconv or Metrowerks CodeWarrior compiler
  3. # use with: make -f Makefile.NetWare [all|clean|dist]
  4. TARGET = rateup
  5. DESCR = MRTG Rateup Command Utility $(RATEUP_VERSION_STR)
  6. COPYR = Distributed under the GNU General Public License
  7. WWWURL = http://www.mrtg.org/
  8. MTSAFE = YES
  9. #SCREEN = NONE
  10. STACK = 65536
  11. # Comment the line below if you dont want to load protected automatically.
  12. #LDRING = 3
  13. # Edit the path below to point to your Novell NDK.
  14. ifndef NDKBASE
  15. NDKBASE = c:/novell
  16. endif
  17. # Edit the path below to point to your install destination.
  18. ifndef INSTDIR
  19. INSTDIR = s:/mrtg/run
  20. endif
  21. # All library code is statically linked to avoid problems with other lib NLMs. 
  22. # Base for the lib sources
  23. ifndef LIBBASE
  24. LIBBASE = ..
  25. endif
  26. # All library code is statically linked to avoid problems with other lib NLMs. 
  27. # Edit the path below to point to your libgd sources or set environment var.
  28. ifndef LIBGD
  29. LIBGD = $(LIBBASE)/gd-2.0.33
  30. endif
  31. # Edit the path below to point to your libpng sources or set environment var.
  32. ifndef LIBPNG
  33. LIBPNG = $(LIBBASE)/libpng-1.2.8
  34. endif
  35. # Edit the path below to point to your zlib sources or set environment var.
  36. ifndef ZLIBSDK
  37. ZLIBSDK = $(LIBBASE)/zlib-1.2.3
  38. endif
  39. # Edit the var below to point to your library architecture.
  40. ifndef LIBARCH
  41. # LIBARCH = CLIB
  42. LIBARCH = LIBC
  43. endif
  44. # The following defines your compiler.
  45. ifdef METROWERKS
  46. CC = mwccnlm
  47. else
  48. CC = gcc
  49. endif
  50. #RM = rm -f
  51. CP = cp -afv
  52. MV = mv -f
  53. ZIP = zip -qzR9
  54. ARCHIVE = rateup-$(RATEUP_VERSION_STR)-nw.zip
  55. # If you want to mark the target as MTSAFE you will need a tool for
  56. # generating the xdc data for the linker; here's a minimal tool:
  57. # http://www.gknw.de/development/prgtools/mkxdc.zip
  58. MPKXDC = mkxdc
  59. # Must be equal to DEBUG or NDEBUG
  60. DB = NDEBUG
  61. #DB = DEBUG
  62. # Optimization: -O<n> or debugging: -g
  63. ifeq ($(DB),NDEBUG)
  64. OPT = -O2
  65. OBJDIR = release
  66. else
  67. OPT = -g
  68. OBJDIR = debug
  69. endif
  70. # Include the version info retrieved from source.
  71. -include $(OBJDIR)/version.inc
  72. # Global flags for all compilers
  73. CFLAGS = $(OPT) -D$(DB) -nostdinc -DNETWARE -DN_PLAT_NLM -DHAVE_LIBPNG
  74. ifeq ($(CC),mwccnlm)
  75. LD = mwldnlm
  76. LDFLAGS = -nostdlib $(PRELUDE) $(OBJDIR)/*.o -o $(OBJDIR)/$(TARGET).nlm -commandfile
  77. CFLAGS += -gccinc -inline off -opt nointrinsics -proc 586
  78. CFLAGS += -relax_pointers
  79. # CFLAGS += -w on -ansi strict
  80. # CFLAGS += -w on,nounused,nounusedexpr -ansi strict
  81. ifeq ($(LIBARCH),LIBC)
  82. PRELUDE = $(SDK_LIBC)/imports/libcpre.o
  83. CFLAGS += -align 4
  84. else
  85. PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
  86. CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
  87. CFLAGS += -align 1
  88. endif
  89. else
  90. LD = nlmconv
  91. LDFLAGS = -T
  92. CFLAGS += -fno-builtin -fpack-struct -fpcc-struct-return
  93. CFLAGS += -Wall -Wno-return-type -Wno-unused # -pedantic
  94. ifeq ($(LIBARCH),LIBC)
  95. PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
  96. else
  97. PRELUDE = $(NDK_ROOT)/pre/prelude.o
  98. CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
  99. endif
  100. endif
  101. LDLIBS =
  102. ifeq ($(findstring linux,$(OSTYPE)),linux)
  103. DL = '
  104. DS = /
  105. #-include $(NDKBASE)/nlmconv/ncpfs.inc
  106. else
  107. DS = \
  108. endif
  109. ifeq ($(MTSAFE),YES)
  110. XDCOPT = -n
  111. endif
  112. ifeq ($(MTSAFE),NO)
  113. XDCOPT = -u
  114. endif
  115. ifdef XDCOPT
  116. XDCDATA = $(OBJDIR)/$(TARGET).xdc
  117. endif
  118. ifndef COPYR
  119. COPYR = Copyright (c) 2005 The Open Source Community.
  120. endif
  121. ifndef DESCR
  122. DESCR = $(TARGET) Command Extension
  123. endif
  124. DESCR += ($(LIBARCH)) - $(CC) build
  125. NDK_ROOT = $(NDKBASE)/ndk
  126. SDK_CLIB = $(NDK_ROOT)/nwsdk
  127. SDK_LIBC = $(NDK_ROOT)/libc
  128. ifeq ($(LIBARCH),LIBC)
  129. INCLUDES = -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks
  130. else
  131. INCLUDES = -I$(SDK_CLIB)/include/nlm -I$(SDK_CLIB)/include
  132. endif
  133. INCLUDES += -I$(LIBGD) -I$(LIBPNG) -I$(ZLIBSDK)
  134. CFLAGS += $(INCLUDES)
  135. vpath %.c src $(LIBGD) $(LIBPNG) $(ZLIBSDK)
  136. GDOBJS = 
  137. $(OBJDIR)/gd.o 
  138. $(OBJDIR)/gd_io.o 
  139. $(OBJDIR)/gd_io_dp.o 
  140. $(OBJDIR)/gd_io_file.o 
  141. $(OBJDIR)/gd_io_ss.o 
  142. $(OBJDIR)/gd_png.o 
  143. $(OBJDIR)/gd_ss.o 
  144. $(OBJDIR)/gdcache.o 
  145. $(OBJDIR)/gdfonts.o 
  146. $(OBJDIR)/gdhelpers.o 
  147. $(OBJDIR)/gdtables.o 
  148. $(OBJDIR)/gd_security.o 
  149. $(OBJDIR)/png.o 
  150. $(OBJDIR)/pngerror.o 
  151. $(OBJDIR)/pnggccrd.o 
  152. $(OBJDIR)/pngget.o 
  153. $(OBJDIR)/pngmem.o 
  154. $(OBJDIR)/pngpread.o 
  155. $(OBJDIR)/pngread.o 
  156. $(OBJDIR)/pngrio.o 
  157. $(OBJDIR)/pngrtran.o 
  158. $(OBJDIR)/pngrutil.o 
  159. $(OBJDIR)/pngset.o 
  160. $(OBJDIR)/pngtrans.o 
  161. $(OBJDIR)/pngvcrd.o 
  162. $(OBJDIR)/pngwio.o 
  163. $(OBJDIR)/pngwrite.o 
  164. $(OBJDIR)/pngwtran.o 
  165. $(OBJDIR)/pngwutil.o 
  166. $(EOLIST)
  167. ZLIBOBJS = 
  168. $(OBJDIR)/adler32.o 
  169. $(OBJDIR)/compress.o 
  170. $(OBJDIR)/crc32.o 
  171. $(OBJDIR)/deflate.o 
  172. $(OBJDIR)/inflate.o 
  173. $(OBJDIR)/inffast.o 
  174. $(OBJDIR)/inftrees.o 
  175. $(OBJDIR)/trees.o 
  176. $(OBJDIR)/zutil.o 
  177. $(EOLIST)
  178. ifeq "$(wildcard $(ZLIBSDK)/infblock.c)" "$(ZLIBSDK)/infblock.c"
  179. ZLIBOBJS += 
  180. $(OBJDIR)/infblock.o 
  181. $(OBJDIR)/infcodes.o 
  182. $(OBJDIR)/infutil.o 
  183. $(EOLIST)
  184. endif
  185. OBJS = $(GDOBJS) $(ZLIBOBJS) $(OBJDIR)/$(TARGET).o
  186. all: $(OBJDIR) $(OBJDIR)/$(TARGET).nlm
  187. dist: all $(OBJDIR)/readme.txt
  188. -$(RM) $(OBJDIR)/*.o $(OBJDIR)/$(TARGET).map $(OBJDIR)/$(TARGET).ncv
  189. -$(RM) $(OBJDIR)/$(TARGET).def $(XDCDATA)
  190. -$(RM) $(OBJDIR)/version.inc
  191. @-$(CP) -a COPYRIGHT $(OBJDIR)
  192. @echo Creating $(ARCHIVE)
  193. @$(ZIP) $(ARCHIVE) $(OBJDIR)/* < $(OBJDIR)/readme.txt
  194. install: all
  195. @[ -d $(INSTDIR) ] || mkdir $(INSTDIR)
  196. @$(CP) $(TARGET).nlm $(INSTDIR)
  197. clean:
  198. -$(RM) -r $(OBJDIR)
  199. cleandist: clean
  200. -$(RM) $(ARCHIVE)
  201. $(OBJDIR):
  202. @mkdir $(OBJDIR)
  203. $(OBJDIR)/version.inc: $(TARGET).c $(OBJDIR) get_ver.awk
  204. @echo Creating $@
  205. @awk -f get_ver.awk $< > $@
  206. $(OBJDIR)/%.o: %.c
  207. @echo Compiling $<
  208. @$(CC) $(CFLAGS) -c $< -o $@
  209. $(OBJDIR)/$(TARGET).nlm: $(OBJDIR) $(OBJS) $(OBJDIR)/version.inc $(OBJDIR)/$(TARGET).def $(XDCDATA)
  210. @echo Linking $@
  211. @-$(RM) $@
  212. @$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).def
  213. ifeq ($(LD),nlmconv)
  214. @$(MV) $(TARGET).nlm $(OBJDIR)
  215. endif
  216. $(OBJDIR)/%.xdc: Makefile.NetWare
  217. @echo Creating $@
  218. @$(MPKXDC) $(XDCOPT) $@
  219. $(OBJDIR)/%.def: Makefile.NetWare
  220. @echo $(DL)# DEF Linker File for use with gcc and nlmconv$(DL) > $@
  221. @echo $(DL)# or with Codewarrior command line compiler.$(DL) >> $@
  222. @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
  223. @echo $(DL)# All your changes will be lost!!$(DL) >> $@
  224. @echo $(DL)#$(DL) >> $@
  225. @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
  226. @echo $(DL)description "$(DESCR)"$(DL) >> $@
  227. @echo $(DL)version $(RATEUP_VERSION)$(DL) >> $@
  228. ifdef NLMTYPE
  229. @echo $(DL)type $(NLMTYPE)$(DL) >> $@
  230. else
  231. @echo $(DL)type 0$(DL) >> $@
  232. endif
  233. ifdef STACK
  234. @echo $(DL)stack $(STACK)$(DL) >> $@
  235. endif
  236. @echo $(DL)threadname "$(TARGET)"$(DL) >> $@
  237. ifdef SCREEN
  238. @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
  239. else
  240. @echo $(DL)screenname "DEFAULT"$(DL) >> $@
  241. endif
  242. ifeq ($(DB),DEBUG)
  243. @echo $(DL)debug$(DL) >> $@
  244. endif
  245. ifeq ($(LIBARCH),CLIB)
  246. @echo $(DL)start _Prelude$(DL) >> $@
  247. @echo $(DL)exit _Stop$(DL) >> $@
  248. @echo $(DL)import @$(NDK_ROOT)/nwsdk/imports/clib.imp$(DL) >> $@
  249. @echo $(DL)import @$(NDK_ROOT)/nwsdk/imports/threads.imp$(DL) >> $@
  250. @echo $(DL)import @$(NDK_ROOT)/nwsdk/imports/nlmlib.imp$(DL) >> $@
  251. @echo $(DL)module clib$(DL) >> $@
  252. else
  253. @echo $(DL)start _LibCPrelude$(DL) >> $@
  254. @echo $(DL)exit _LibCPostlude$(DL) >> $@
  255. @echo $(DL)check _LibCCheckUnload$(DL) >> $@
  256. @echo $(DL)import @$(NDK_ROOT)/libc/imports/libc.imp$(DL) >> $@
  257. @echo $(DL)import @$(NDK_ROOT)/libc/imports/netware.imp$(DL) >> $@
  258. @echo $(DL)module libc$(DL) >> $@
  259. @echo $(DL)pseudopreemption$(DL) >> $@
  260. @echo $(DL)flag_on 64$(DL) >> $@
  261. endif
  262. ifeq ($(LDRING),0)
  263. @echo $(DL)flag_on 16$(DL) >> $@
  264. endif
  265. ifeq ($(LDRING),3)
  266. @echo $(DL)flag_on 512$(DL) >> $@
  267. endif
  268. ifdef XDCDATA
  269. @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
  270. endif
  271. ifeq ($(LD),nlmconv)
  272. @echo $(DL)input $(OBJS)$(DL) >> $@
  273. @echo $(DL)input $(PRELUDE)$(DL) >> $@
  274. @echo $(DL)output $(TARGET).nlm$(DL) >> $@
  275. endif
  276. $(OBJDIR)/readme.txt: Makefile.NetWare
  277. @echo Creating $@
  278. @echo $(DL)This is a binary distribution for NetWare platform.$(DL) > $@
  279. @echo $(DL)MRTG rateup version $(RATEUP_VERSION_STR)$(DL) >> $@
  280. @echo $(DL)Please download the complete MRTG package for$(DL) >> $@
  281. @echo $(DL)any further documentation:$(DL) >> $@
  282. @echo $(DL)http://www.mrtg.org/$(DL) >> $@