quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

Makefile.Watcom (5897B)


      1 # Copyright (C) The c-ares project and its contributors
      2 # SPDX-License-Identifier: MIT
      3 #
      4 #  Watcom / OpenWatcom / Win32 makefile for cares.
      5 #  Quick hack by Guenter; comments to: /dev/nul
      6 #  Updated by Douglas R. Reno, comments to: renodr2002@gmail.com. 2023
      7 #
      8 
      9 !ifndef %watcom
     10 !error WATCOM environment variable not set!
     11 !else
     12 SYS_INCL = -I$(%watcom)\h\nt -I$(%watcom)\h
     13 SYS_LIBS = $(%watcom)\lib386\nt;$(%watcom)\lib386
     14 !endif
     15 
     16 !ifdef %libname
     17 LIBNAME = $(%libname)
     18 !else
     19 LIBNAME	= cares
     20 !endif
     21 TARGETS = $(LIBNAME).dll $(LIBNAME)_imp.lib $(LIBNAME).lib
     22 DEMOS   = adig.exe ahost.exe
     23 
     24 CC = wcc386
     25 LD = wlink
     26 AR = wlib
     27 RC = wrc
     28 
     29 !ifdef __LOADDLL__
     30 !  loaddll wcc386  wccd386
     31 !  loaddll wpp386  wppd386
     32 !  loaddll wlib    wlibd
     33 !endif
     34 
     35 !if $(__VERSION__) < 1250
     36 RM = del /q /f 2>NUL
     37 !else
     38 RM = rm -f
     39 !endif
     40 MD = mkdir
     41 RD = rmdir /q /s 2>NUL
     42 CP = copy
     43 
     44 CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm -aa   &
     45          -wcd=201 -bt=nt -d+ -dCARES_BUILDING_LIBRARY &
     46          -dNTDDI_VERSION=0x06020000 -I. -I.\include -I.\src\lib -I.\src\lib\include &
     47          $(SYS_INCL)
     48 
     49 LFLAGS = option quiet, map, caseexact, eliminate
     50 
     51 !ifdef %debug
     52 DEBUG  = -dDEBUG=1 -dDEBUGBUILD
     53 CFLAGS += -d3 $(DEBUG)
     54 LFLAGS += debug all
     55 !else
     56 CFLAGS += -d0
     57 !endif
     58 
     59 CFLAGS += -d_WIN32_WINNT=0x0602
     60 
     61 #
     62 # Change to suite.
     63 #
     64 !ifdef %use_watt32
     65 CFLAGS += -dWATT32 -I$(%watt_root)\inc
     66 !endif
     67 
     68 OBJ_BASE = WC_Win32.obj
     69 LINK_ARG = $(OBJ_BASE)\dyn\wlink.arg
     70 LIB_ARG  = $(OBJ_BASE)\stat\wlib.arg
     71 
     72 # In order to process Makefile.inc wmake must be called with -u switch!
     73 !ifneq __MAKEOPTS__ -u
     74 !error You MUST call wmake with the -u switch!
     75 !else
     76 !include src\lib\Makefile.inc
     77 !endif
     78 
     79 OBJS = $(CSOURCES:.c=.obj)
     80 OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
     81 
     82 #
     83 # Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
     84 #
     85 OBJ_DIR    = $(OBJ_BASE)\stat
     86 OBJS_STAT  = $+ $(OBJS) $-
     87 
     88 OBJ_DIR    = $(OBJ_BASE)\dyn
     89 OBJS_DYN   += $(OBJS) $-
     90 
     91 ARESBUILDH = ares_build.h
     92 RESOURCE   = $(OBJ_BASE)\dyn\cares.res
     93 ARESBUILDH = include\ares_build.h
     94 
     95 all: $(ARESBUILDH) $(OBJ_BASE) $(TARGETS) $(DEMOS) .SYMBOLIC
     96 	@echo Welcome to cares
     97 
     98 $(OBJ_BASE):
     99 	-$(MD) $^@
    100 	-$(MD) $^@\stat
    101 	-$(MD) $^@\stat\dsa
    102 	-$(MD) $^@\stat\event
    103 	-$(MD) $^@\stat\legacy
    104 	-$(MD) $^@\stat\record
    105 	-$(MD) $^@\stat\str
    106 	-$(MD) $^@\stat\util
    107 	-$(MD) $^@\dyn
    108 	-$(MD) $^@\dyn\dsa
    109 	-$(MD) $^@\dyn\event
    110 	-$(MD) $^@\dyn\legacy
    111 	-$(MD) $^@\dyn\record
    112 	-$(MD) $^@\dyn\str
    113 	-$(MD) $^@\dyn\util
    114 	-$(MD) $^@\tools
    115 
    116 $(ARESBUILDH): .EXISTSONLY
    117 	@echo Make sure to run buildconf.bat!
    118 
    119 $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
    120 	$(LD) name $^@ @$]@
    121 
    122 $(LIBNAME).lib: $(OBJS_STAT) $(LIB_ARG)
    123 	$(AR) -q -b -c $^@ @$]@
    124 
    125 $(OBJ_BASE)\tools\ares_getopt.obj:
    126 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\tools\ares_getopt.c -fo=$^@
    127 
    128 adig.exe: $(LIBNAME).lib
    129 	$(CC) $(CFLAGS) src\tools\adig.c -fo=$(OBJ_BASE)\tools\adig.obj
    130 	$(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\adig.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib
    131 
    132 ahost.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib
    133 	$(CC) $(CFLAGS) src\tools\ahost.c -fo=$(OBJ_BASE)\tools\ahost.obj
    134 	$(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\ahost.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib
    135 
    136 clean: .SYMBOLIC
    137 	-$(RM) $(OBJS_STAT)
    138 	-$(RM) $(OBJS_DYN)
    139 	-$(RM) $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
    140 
    141 vclean realclean: clean .SYMBOLIC
    142 	-$(RM) $(TARGETS) $(LIBNAME).map
    143 	-$(RM) $(DEMOS) $(DEMOS:.exe=.map)
    144 	-$(RD) $(OBJ_BASE)\stat
    145 	-$(RD) $(OBJ_BASE)\stat\dsa
    146 	-$(RD) $(OBJ_BASE)\stat\event
    147 	-$(RD) $(OBJ_BASE)\stat\legacy
    148 	-$(RD) $(OBJ_BASE)\stat\record
    149 	-$(RD) $(OBJ_BASE)\stat\str
    150 	-$(RD) $(OBJ_BASE)\stat\util
    151 	-$(RD) $(OBJ_BASE)\dyn
    152 	-$(RD) $(OBJ_BASE)\dyn\dsa
    153 	-$(RD) $(OBJ_BASE)\dyn\event
    154 	-$(RD) $(OBJ_BASE)\dyn\legacy
    155 	-$(RD) $(OBJ_BASE)\dyn\record
    156 	-$(RD) $(OBJ_BASE)\dyn\str
    157 	-$(RD) $(OBJ_BASE)\dyn\util
    158 	-$(RD) $(OBJ_BASE)\tools
    159 	-$(RD) $(OBJ_BASE)
    160 
    161 .ERASE
    162 .c: .\src\lib
    163 
    164 .ERASE
    165 $(RESOURCE): src\lib\cares.rc .AUTODEPEND
    166 	$(RC) $(DEBUG) -q -r -zm -I..\include $(SYS_INCL) $[@ -fo=$^@
    167 
    168 .ERASE
    169 .c{$(OBJ_BASE)\dyn}.obj:
    170 	$(CC) $(CFLAGS) -bd .\src\lib\$^& -fo=$^@
    171 
    172 .ERASE
    173 {dsa}.c{$(OBJ_BASE)\dyn\dsa}.obj:
    174 	$(CC) $(CFLAGS) -bd .\src\lib\dsa\$^& -fo=$^@
    175 
    176 .ERASE
    177 {event}.c{$(OBJ_BASE)\dyn\event}.obj:
    178 	$(CC) $(CFLAGS) -bd .\src\lib\event\$^& -fo=$^@
    179 
    180 .ERASE
    181 {legacy}.c{$(OBJ_BASE)\dyn\legacy}.obj:
    182 	$(CC) $(CFLAGS) -bd .\src\lib\legacy\$^& -fo=$^@
    183 
    184 .ERASE
    185 {record}.c{$(OBJ_BASE)\dyn\record}.obj:
    186 	$(CC) $(CFLAGS) -bd .\src\lib\record\$^& -fo=$^@
    187 
    188 .ERASE
    189 {str}.c{$(OBJ_BASE)\dyn\str}.obj:
    190 	$(CC) $(CFLAGS) -bd .\src\lib\str\$^& -fo=$^@
    191 
    192 .ERASE
    193 {util}.c{$(OBJ_BASE)\dyn\util}.obj:
    194 	$(CC) $(CFLAGS) -bd .\src\lib\util\$^& -fo=$^@
    195 
    196 .ERASE
    197 .c{$(OBJ_BASE)\stat}.obj:
    198 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\$^& -fo=$^@
    199 
    200 .ERASE
    201 {dsa}.c{$(OBJ_BASE)\stat\dsa}.obj:
    202 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\dsa\$^& -fo=$^@
    203 
    204 .ERASE
    205 {event}.c{$(OBJ_BASE)\stat\event}.obj:
    206 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\event\$^& -fo=$^@
    207 
    208 .ERASE
    209 {legacy}.c{$(OBJ_BASE)\stat\legacy}.obj:
    210 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\legacy\$^& -fo=$^@
    211 
    212 .ERASE
    213 {record}.c{$(OBJ_BASE)\stat\record}.obj:
    214 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\record\$^& -fo=$^@
    215 
    216 .ERASE
    217 {str}.c{$(OBJ_BASE)\stat\str}.obj:
    218 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\str\$^& -fo=$^@
    219 
    220 .ERASE
    221 {util}.c{$(OBJ_BASE)\stat\util}.obj:
    222 	$(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\util\$^& -fo=$^@
    223 
    224 $(LINK_ARG): $(__MAKEFILES__)
    225 	%create $^@
    226 	@%append $^@ system nt dll
    227 	@%append $^@ file { $(OBJS_DYN) }
    228 	@%append $^@ option res=$(RESOURCE), implib=$(LIBNAME)_imp.lib 
    229 	@%append $^@ $(LFLAGS)
    230 	@%append $^@ libpath $(SYS_LIBS)
    231 #	@%append $^@ library clib3r.lib
    232 !ifdef %use_watt32
    233 	@%append $^@ library $(%watt_root)\lib\wattcpw_imp.lib
    234 !else
    235 	@%append $^@ library ws2_32.lib
    236 	@%append $^@ library iphlpapi.lib
    237 !endif
    238 
    239 $(LIB_ARG): $(__MAKEFILES__)
    240 	%create $^@
    241 	@for %f in ($(OBJS_STAT)) do @%append $^@ +- %f
    242 
    243