Added the -br switch to dynamic builds which fixes the issue I saw with curl's --version output. Added debug info and symfile for debug builds to linker opts. Added DLL loader for wlink back, but this time dependend on wlink version. Patch posted to the list by malak.jiri AT gmail.com.
176 lines
3.5 KiB
Makefile
176 lines
3.5 KiB
Makefile
#
|
|
# Watcom / OpenWatcom / Win32 makefile for libcurl.
|
|
# G. Vanem <gvanem@broadpark.no>
|
|
#
|
|
|
|
!ifndef %watcom
|
|
!error WATCOM environment variable not set!
|
|
!else
|
|
SYS_INCL = -I$(%watcom)\h\nt -I$(%watcom)\h
|
|
SYS_LIBS = $(%watcom)\lib386\nt;$(%watcom)\lib386
|
|
!endif
|
|
|
|
!ifdef %libname
|
|
LIBNAME = $(%libname)
|
|
!else
|
|
LIBNAME = libcurl
|
|
!endif
|
|
TARGETS = $(LIBNAME).dll $(LIBNAME)_imp.lib $(LIBNAME).lib
|
|
|
|
CC = wcc386
|
|
LD = wlink
|
|
AR = wlib
|
|
RC = wrc
|
|
|
|
!ifdef __LOADDLL__
|
|
! loaddll wcc386 wccd386
|
|
! loaddll wpp386 wppd386
|
|
! loaddll wlib wlibd
|
|
! if $(__VERSION__) < 1280
|
|
! loaddll wlink wlinkd
|
|
! else
|
|
! loaddll wlink wlink
|
|
! endif
|
|
!endif
|
|
|
|
MD = mkdir
|
|
RM = del /q /f >NUL 2>&1
|
|
RD = rmdir /q /s >NUL 2>&1
|
|
CP = copy
|
|
|
|
CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm &
|
|
-wcd=201 -bt=nt -d+ -dWIN32 -dCURL_WANTS_CA_BUNDLE_ENV &
|
|
-dBUILDING_LIBCURL -dHAVE_SPNEGO=1 -I. -I..\include $(SYS_INCL)
|
|
|
|
!ifdef %debug
|
|
DEBUG = -dDEBUG=1 -dDEBUGBUILD
|
|
CFLAGS += -d3 $(DEBUG)
|
|
!else
|
|
CFLAGS += -d0
|
|
!endif
|
|
|
|
!ifdef %use_ipv6
|
|
CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
|
|
!endif
|
|
|
|
#
|
|
# Change to suite.
|
|
#
|
|
!ifdef %zlib_root
|
|
ZLIB_ROOT = $(%zlib_root)
|
|
!else
|
|
ZLIB_ROOT = ..\..\zlib-1.2.5
|
|
!endif
|
|
|
|
!ifdef %ares_root
|
|
ARES_ROOT = $(%ares_root)
|
|
!else
|
|
ARES_ROOT = ..\ares
|
|
!endif
|
|
|
|
!ifdef %use_zlib
|
|
CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I$(ZLIB_ROOT)
|
|
!endif
|
|
|
|
!ifdef %use_ares
|
|
CFLAGS += -dUSE_ARES -I$(ARES_ROOT)
|
|
!endif
|
|
|
|
!ifdef %use_watt32
|
|
CFLAGS += -dUSE_WATT32 -I$(%watt_root)\inc
|
|
!endif
|
|
|
|
OBJ_BASE = WC_Win32.obj
|
|
LINK_ARG = $(OBJ_BASE)\dyn\wlink.arg
|
|
LIB_ARG = $(OBJ_BASE)\stat\wlib.arg
|
|
|
|
# In order to process Makefile.inc wmake must be called with -u switch!
|
|
!ifndef %MAKEFLAGS
|
|
!error You MUST call wmake with the -u switch!
|
|
!else
|
|
!include Makefile.inc
|
|
!endif
|
|
|
|
OBJS = $(CSOURCES:.c=.obj)
|
|
OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
|
|
|
|
#
|
|
# Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
|
|
#
|
|
OBJ_DIR = $(OBJ_BASE)\stat
|
|
OBJS_STAT = $+ $(OBJS) $-
|
|
|
|
OBJ_DIR = $(OBJ_BASE)\dyn
|
|
OBJS_DYN = $+ $(OBJS) $-
|
|
|
|
CURLBUILDH = ..\include\curl\curlbuild.h
|
|
RESOURCE = $(OBJ_BASE)\dyn\libcurl.res
|
|
|
|
all: $(CURLBUILDH) $(OBJ_BASE) $(TARGETS) .SYMBOLIC
|
|
@echo Welcome to libcurl
|
|
|
|
clean: .SYMBOLIC
|
|
-$(RM) $(OBJS_STAT)
|
|
-$(RM) $(OBJS_DYN)
|
|
-$(RM) $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
|
|
|
|
vclean realclean: clean .SYMBOLIC
|
|
-$(RM) $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
|
|
-$(RD) $(OBJ_BASE)\stat
|
|
-$(RD) $(OBJ_BASE)\dyn
|
|
-$(RD) $(OBJ_BASE)
|
|
|
|
$(OBJ_BASE):
|
|
-$(MD) $^@
|
|
-$(MD) $^@\stat
|
|
-$(MD) $^@\dyn
|
|
|
|
$(CURLBUILDH): .EXISTSONLY
|
|
$(CP) $^@.dist $^@
|
|
|
|
$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
|
|
$(LD) name $^@ @$]@
|
|
|
|
$(LIBNAME).lib: $(OBJS_STAT) $(LIB_ARG)
|
|
$(AR) -q -b -c $^@ @$]@
|
|
|
|
.ERASE
|
|
$(RESOURCE): libcurl.rc
|
|
$(RC) $(DEBUG) -q -r -zm -I..\include $(SYS_INCL) $[@ -fo=$^@
|
|
|
|
.ERASE
|
|
.c{$(OBJ_BASE)\dyn}.obj:
|
|
$(CC) $(CFLAGS) -bd -br $[@ -fo=$^@
|
|
|
|
.ERASE
|
|
.c{$(OBJ_BASE)\stat}.obj:
|
|
$(CC) $(CFLAGS) -DCURL_STATICLIB $[@ -fo=$^@
|
|
|
|
$(LINK_ARG): $(__MAKEFILES__)
|
|
%create $^@
|
|
@%append $^@ system nt dll
|
|
@%append $^@ file { $(OBJS_DYN) }
|
|
!ifdef %debug
|
|
@%append $^@ debug all
|
|
@%append $^@ option symfile
|
|
!endif
|
|
@%append $^@ option quiet, map, caseexact, eliminate, implib=$(LIBNAME)_imp.lib,
|
|
@%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS)
|
|
@%append $^@ library wldap32.lib
|
|
!ifdef %use_watt32
|
|
@%append $^@ library $(%watt_root)\lib\wattcpw_imp.lib
|
|
!else
|
|
@%append $^@ library ws2_32.lib
|
|
!endif
|
|
!ifdef %use_zlib
|
|
@%append $^@ library $(ZLIB_ROOT)\zlib.lib
|
|
!endif
|
|
!ifdef %use_ares
|
|
@%append $^@ library $(ARES_ROOT)\cares.lib
|
|
!endif
|
|
|
|
$(LIB_ARG): $(__MAKEFILES__)
|
|
%create $^@
|
|
@for %f in ($(OBJS_STAT)) do @%append $^@ +- %f
|
|
|