]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/curl/lib/Makefile.netware
hello world
[icculus/iodoom3.git] / neo / curl / lib / Makefile.netware
1 #################################################################
2 #
3 ## Makefile for building libcurl.nlm (NetWare version - gnu make)
4 ## Use: make -f Makefile.netware
5 ##
6 ## Comments to: Guenter Knauf <eflash@gmx.net>
7 #
8 #################################################################
9
10 # Edit the path below to point to the base of your Novell NDK.
11 BASE    = c:/novell
12 INSTDIR = s:/libcurl
13
14 # Edit the path below to point to the base of your Zlib sources.
15 ZLIB_PATH = ../../../cw/zlib-src-1.1.4
16
17 # Edit the vars below to change NLM target settings.
18 TARGET  = libcurl
19 VERSION = $(LIBCURL_VERSION)
20 COPYR   = Copyright (c) 1996 - 2004, Daniel Stenberg, <daniel@haxx.se>
21 DESCR   = cURL libcurl $(LIBCURL_VERSION_STR) - http://curl.haxx.se
22 MTSAFE  = YES
23 STACK   = 64000
24 SCREEN  = none
25 #MODULES        = libz.nlm
26 EXPORTS = @libcurl.imp
27
28 # Edit the var below to point to your lib architecture.
29 ifndef LIBARCH
30 LIBARCH = LIBC
31 endif
32
33 # must be equal to DEBUG or NDEBUG
34 DB      = NDEBUG
35 # DB    = DEBUG
36 # Optimization: -O<n> or debugging: -g
37 ifeq ($(DB),NDEBUG)
38         OPT     = -O2
39         OBJDIR  = release
40 else
41         OPT     = -g
42         OBJDIR  = debug
43 endif
44
45 # Include the version info retrieved from jk_version.h
46 -include $(OBJDIR)/version.inc
47
48 # The following line defines your compiler.
49 ifdef METROWERKS
50         CC = mwccnlm
51 else
52         CC = gcc
53 endif
54 # RM    = rm -f
55 # CP    = cp -fv
56 # if you want to mark the target as MTSAFE you will need a tool for
57 # generating the xdc data for the linker; here's a minimal tool:
58 # http://www.gknw.de/development/prgtools/mkxdc.zip
59 MPKXDC  = mkxdc
60
61 # Global flags for all compilers
62 CFLAGS  = $(OPT) -D$(DB) -DNETWARE -nostdinc
63 #CFLAGS += -DHAVE_LIBZ
64
65 ifeq ($(CC),mwccnlm)
66 LD      = mwldnlm
67 LDFLAGS = -nostdlib $(PRELUDE) $(OBJDIR)/*.o -o $(OBJDIR)/$(TARGET).nlm -commandfile
68 CFLAGS  += -gccinc -inline off -opt nointrinsics
69 CFLAGS  += -relax_pointers
70 #CFLAGS += -w on
71 ifeq ($(LIBARCH),LIBC)
72         PRELUDE = $(SDK_LIBC)/imports/libcpre.o
73         CFLAGS += -align 4 -inst mmx -proc 686
74         CFLAGS += -D_POSIX_SOURCE
75 #       CFLAGS += -D__ANSIC__
76 else
77         PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
78 #       CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
79         CFLAGS += -align 1 -proc 586
80 endif
81 else
82 LD      = nlmconv
83 LDFLAGS = -T
84 CFLAGS  += -fno-builtin -fpack-struct -fpcc-struct-return
85 CFLAGS  += -Wall # -pedantic
86 ifeq ($(LIBARCH),LIBC)
87         PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
88         CFLAGS += -D_POSIX_SOURCE
89 #       CFLAGS += -D__ANSIC__
90 else
91         PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
92         CFLAGS += -include $(BASE)/nlmconv/genlm.h
93 endif
94 endif
95
96 LDLIBS  =
97
98 NDK_ROOT = $(BASE)/ndk
99 SDK_CLIB = $(NDK_ROOT)/nwsdk
100 SDK_LIBC = $(NDK_ROOT)/libc
101 SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
102 CURL_INC = ../include
103
104 INCLUDES = -I$(CURL_INC)
105 INCLUDES += -I$(ZLIB_PATH)
106
107 ifeq ($(LIBARCH),LIBC)
108         INCLUDES += -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks
109         INCLUDES += -I$(SDK_LIBC)/include/winsock
110         INCLUDES += -I$(SDK_LDAP)/libc/inc
111 else
112         INCLUDES += -I$(SDK_CLIB)/include/nlm -I$(SDK_CLIB)/include
113         # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
114         INCLUDES += -I$(SDK_LDAP)/clib/inc
115         CFLAGS += -DNETDB_USE_INTERNET
116 endif
117 CFLAGS  += $(INCLUDES)
118
119 ifeq ($(MTSAFE),YES)
120         XDCDATA = $(OBJDIR)/$(TARGET).xdc
121 endif
122
123 ifeq ($(OSTYPE),linux)
124 DL      = '
125 -include $(BASE)/nlmconv/ncpfs.inc
126 endif
127
128 OBJS    = \
129         $(OBJDIR)/file.o \
130         $(OBJDIR)/timeval.o \
131         $(OBJDIR)/base64.o \
132         $(OBJDIR)/hostip.o \
133         $(OBJDIR)/progress.o \
134         $(OBJDIR)/formdata.o \
135         $(OBJDIR)/cookie.o \
136         $(OBJDIR)/http.o \
137         $(OBJDIR)/sendf.o \
138         $(OBJDIR)/ftp.o \
139         $(OBJDIR)/url.o \
140         $(OBJDIR)/dict.o \
141         $(OBJDIR)/if2ip.o \
142         $(OBJDIR)/speedcheck.o \
143         $(OBJDIR)/getdate.o \
144         $(OBJDIR)/transfer.o \
145         $(OBJDIR)/ldap.o \
146         $(OBJDIR)/ssluse.o \
147         $(OBJDIR)/version.o \
148         $(OBJDIR)/getenv.o \
149         $(OBJDIR)/escape.o \
150         $(OBJDIR)/mprintf.o \
151         $(OBJDIR)/telnet.o \
152         $(OBJDIR)/netrc.o \
153         $(OBJDIR)/getinfo.o \
154         $(OBJDIR)/strequal.o \
155         $(OBJDIR)/easy.o \
156         $(OBJDIR)/security.o \
157         $(OBJDIR)/krb4.o \
158         $(OBJDIR)/memdebug.o \
159         $(OBJDIR)/http_chunks.o \
160         $(OBJDIR)/strtok.o \
161         $(OBJDIR)/connect.o \
162         $(OBJDIR)/hash.o \
163         $(OBJDIR)/llist.o \
164         $(OBJDIR)/multi.o \
165         $(OBJDIR)/share.o \
166         $(OBJDIR)/content_encoding.o \
167         $(OBJDIR)/http_digest.o \
168         $(OBJDIR)/http_negotiate.o \
169         $(OBJDIR)/http_ntlm.o \
170         $(OBJDIR)/md5.o \
171         $(OBJDIR)/strtoofft.o \
172         $(OBJDIR)/nwlib.o
173
174
175 all: $(OBJDIR) $(OBJDIR)/version.inc $(OBJDIR)/$(TARGET).nlm 
176
177 $(OBJDIR)/%.o: %.c
178         @echo Compiling $<
179         @$(CC) $(CFLAGS) -c $< -o $@
180
181 $(OBJDIR)/version.inc: $(CURL_INC)/curl/curl.h $(OBJDIR)
182         @echo Creating $@
183         @awk -f ../packages/netware/get_ver.awk $< > $@
184
185 dist: all
186         -$(RM) $(OBJDIR)/*.o $(OBJDIR)/$(TARGET).map $(OBJDIR)/$(TARGET).ncv
187         -$(RM) $(OBJDIR)/$(TARGET).def $(OBJDIR)/version.inc $(XDCDATA)
188 #       -$(CP) ../changes.txt $(OBJDIR)/
189
190 install: all
191         @[ -d $(INSTDIR) ] || mkdir $(INSTDIR)
192         @$(CP) $(TARGET).nlm $(INSTDIR)
193
194 clean:
195         -$(RM) -r $(OBJDIR)
196
197 $(OBJDIR):
198         @mkdir $(OBJDIR)
199
200 $(OBJDIR)/$(TARGET).nlm: $(OBJS) $(OBJDIR)/$(TARGET).def $(XDCDATA)
201         @echo Linking $@
202         @-$(RM) $@
203         @$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).def
204
205 $(OBJDIR)/%.xdc: Makefile.netware
206         @echo Creating $@
207         @$(MPKXDC) $(XDCOPT) $@
208
209 $(OBJDIR)/%.def: Makefile.netware
210         @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@
211         @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
212         @echo $(DL)# All your changes will be lost!!$(DL) >> $@
213         @echo $(DL)#$(DL) >> $@
214         @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
215         @echo $(DL)description "$(DESCR)"$(DL) >> $@
216         @echo $(DL)version $(VERSION)$(DL) >> $@
217 ifdef NLMTYPE
218         @echo $(DL)type $(NLMTYPE)$(DL) >> $@
219 endif
220 ifdef STACK
221         @echo $(DL)stack $(STACK)$(DL) >> $@
222 endif
223 ifdef SCREEN
224         @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
225 else
226         @echo $(DL)screenname "DEFAULT"$(DL) >> $@
227 endif
228 ifeq ($(DB),DEBUG)
229         @echo $(DL)debug$(DL) >> $@
230 endif
231         @echo $(DL)threadname "$(TARGET)"$(DL) >> $@
232 ifdef XDCDATA
233         @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
234 endif
235 ifeq ($(LIBARCH),CLIB)
236         @echo $(DL)start _Prelude$(DL) >> $@
237         @echo $(DL)exit _Stop$(DL) >> $@
238         @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
239         @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
240         @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
241         @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
242         @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
243         @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
244         @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@
245         @echo $(DL)module clib$(DL) >> $@
246 else
247 ifeq ($(LD),nlmconv)
248         @echo $(DL)flag_on 64$(DL) >> $@
249 else
250         @echo $(DL)autounload$(DL) >> $@
251 endif
252         @echo $(DL)pseudopreemption$(DL) >> $@
253         @echo $(DL)start _LibCPrelude$(DL) >> $@
254         @echo $(DL)exit _LibCPostlude$(DL) >> $@
255         @echo $(DL)check _LibCCheckUnload$(DL) >> $@
256         @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
257         @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
258         @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
259         @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
260         @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@
261         @echo $(DL)module libc$(DL) >> $@
262 endif
263 ifdef MODULES
264         @echo $(DL)module $(MODULES)$(DL) >> $@
265 endif
266 ifdef EXPORTS
267         @echo $(DL)export $(EXPORTS)$(DL) >> $@
268 endif
269 ifdef IMPORTS
270         @echo $(DL)import $(IMPORTS)$(DL) >> $@
271 endif
272 ifeq ($(LD),nlmconv)
273         @echo $(DL)input $(OBJS)$(DL) >> $@
274         @echo $(DL)input $(PRELUDE)$(DL) >> $@
275         @echo $(DL)output $(TARGET).nlm$(DL) >> $@
276 endif
277