!if ("$(OS)" == "Windows_NT") !message ==================== Windows NT-hosted build ==================== !else !message ==================== OS/2-hosted build ==================== !endif NT_TOOLS=$(SYSTEMROOT)\mstools NT_SDK=$(_NTBINDIR)\public\sdk !if "$(OS)"=="Windows_NT" BINDIRS=ntx86 !else # "$(OS)"=="os2" BINDIRS=os2 qwin !endif # Set tools paths CC_NT=$(NT_TOOLS)\cl.exe CC_OS2=$(IMPORT)\c7\binp\cl.exe LINK_NT=$(NT_TOOLS)\link.exe LINK_OS2=$(IMPORT)\c7\binp\link.exe MIDL_NT=$(NT_TOOLS)\midl.exe MIDL_OS2=$(NT_TOOLS)\midl.exe /env generic # Set libraries LIBDIR_NT_X86=$(NT_SDK)\lib\i386 RPCBIN_OS2=$(RPC)\runtime\bin\os2.12 RPCNDR_OS2=$(RPC)\ndrmem\os2.12 RPCNDR_PRIV_OS2=$(RPC)\ndrlib\os2.12 RPCBIN_WIN=$(RPC)\runtime\bin\win RPCNDR_WIN=$(RPC)\ndrmem\win LIBS_NT_X86=$(LIBDIR_NT_X86)\libcmt.lib $(LIBDIR_NT_X86)\kernel32.lib \ $(LIBDIR_NT_X86)\ntdll.lib \ $(LIBDIR_NT_X86)\rpcrt4.lib $(LIBDIR_NT_X86)\rpcndr.lib LIBS_OS2=$(IMPORT)\c7\lib\llibcmt $(IMPORT)\os212\lib\os2 \ $(RPCBIN_OS2)\rpc $(RPCNDR_OS2)\rpcndr $(RPCNDR_PRIV_OS2)\rpcndrp LIBS_QWIN=$(IMPORT)\c7\lib\llibcewq $(IMPORT)\win31\lib\libw \ $(RPCBIN_WIN)\rpc $(RPCNDR_WIN)\rpcndr # Set header file paths INCS_OS2=-I. -Ios2 -I$(IMPORT)\c7\h -I$(IMPORT)\os212\h \ -I$(RPC)\runtime\mtrt\os2.12 -I$(RPC)\runtime\mtrt INCS_QWIN=-I. -Iqwin -I$(IMPORT)\c7\h \ -I$(RPC)\runtime\mtrt\win -I$(RPC)\runtime\mtrt INCS_NT_X86=-I. -Intx86 -I$(NT_SDK)\inc\crt -I$(NT_SDK)\inc #C compiler flags CFLAGS_COMMON=-J -W3 -nologo !ifndef RELEASE CFLAGS_COMMON=$(CFLAGS_COMMON) -Zi -DDEBUG !endif CFLAGS_DOS=$(CFLAGS_COMMON) -Zp2 CFLAGS_QWIN=$(CFLAGS_COMMON) -Mq -G2 -Zp2 -AL -Gx CFLAGS_OS2=$(CFLAGS_COMMON) -Lp -G2 -DOS2 -MT CFLAGS_NT_X86=$(CFLAGS_COMMON) -DWIN32_NT -D_MT -Di386 -Zp4 -Od -Zl -G3z -Zd -Z7 # Linker flags LFLAGS_COMMON=/map LFLAGS_DOS=$(LFLAGS_COMMON) LFLAGS_QWIN=$(LFLAGS_COMMON) /nod LFLAGS_OS2=$(LFLAGS_COMMON) /pm:vio /nod LFLAGS_NT_X86=$(LFLAGS_COMMON) /machine:i386 /subsystem:console \ /entry:mainCRTStartup !ifndef RELEASE LFLAGS_DOS=$(LFLAGS_DOS) /CODEVIEW LFLAGS_QWIN=$(LFLAGS_QWIN) /CODEVIEW LFLAGS_OS2=$(LFLAGS_OS2) /CODEVIEW LFLAGS_NT_X86=$(LFLAGS_NT_X86) /debugtype:both /debug:full !endif # Linker .DEF files POKER_DEF_DOS= POKER_DEF_QWIN=cl.def POKER_DEF_OS2= POKER_DEF_NT_X86= .SUFFIXES: .os .oc .c .h .idl {.}.c{os2}.oc: $(CC_OS2) $(CFLAGS_OS2) -DPOKER_CLIENT $(INCS_OS2) -Fo$@ -c $< {os2}.c{os2}.oc: $(CC_OS2) $(CFLAGS_OS2) -DPOKER_CLIENT $(INCS_OS2) -Fo$@ -c $< {.}.c{os2}.os: $(CC_OS2) $(CFLAGS_OS2) -DPOKER_SERVER $(INCS_OS2) -Fo$@ -c $< {os2}.c{os2}.os: $(CC_OS2) $(CFLAGS_OS2) -DPOKER_SERVER $(INCS_OS2) -Fo$@ -c $< {.}.c{ntx86}.oc: $(CC_NT) $(CFLAGS_NT_X86) -DPOKER_CLIENT $(INCS_NT_X86) -Fo$@ -c $< {ntx86}.c{ntx86}.oc: $(CC_NT) $(CFLAGS_NT_X86) -DPOKER_CLIENT $(INCS_NT_X86) -Fo$@ -c $< {.}.c{ntx86}.os: $(CC_NT) $(CFLAGS_NT_X86) -DPOKER_SERVER $(INCS_NT_X86) -Fo$@ -c $< {ntx86}.c{ntx86}.os: $(CC_NT) $(CFLAGS_NT_X86) -DPOKER_SERVER $(INCS_NT_X86) -Fo$@ -c $< {.}.c{qwin}.oc: $(CC_OS2) $(CFLAGS_QWIN) -DPOKER_CLIENT $(INCS_QWIN) -Fo$@ -c $< {qwin}.c{qwin}.oc: $(CC_OS2) $(CFLAGS_QWIN) -DPOKER_CLIENT $(INCS_QWIN) -Fo$@ -c $< POKER_COMMON_SRC_C=.\weight.c .\gamedata.c .\midlutil.c POKER_CLIENT_SRC_C=.\pokercli.c .\ui.c .\strings.c \ $(POKER_COMMON_SRC_C) POKER_CLIENT_SRC_RPC=.\pokrpc_c.c .\pokrpc_x.c .\pokinc_x.c POKER_SERVER_SRC_C=.\pokersrv.c .\dispatch.c .\osutil_s.c .\deal.c \ .\random.c .\betting.c .\winner.c .\stud.c .\draw.c \ $(POKER_COMMON_SRC_C) POKER_SERVER_SRC_RPC=.\pokrpc_s.c .\pokrpc_y.c .\pokinc_y.c POKER_CLIENT_OBJS_BASE=$(POKER_CLIENT_SRC_C:.c=.oc) $(POKER_CLIENT_SRC_RPC:.c=.oc) POKER_SERVER_OBJS_BASE=$(POKER_SERVER_SRC_C:.c=.os) $(POKER_SERVER_SRC_RPC:.c=.os) POKER_CLIENT_OBJS_NT_X86=$(POKER_CLIENT_OBJS_BASE:.\=ntx86\) POKER_CLIENT_OBJS_OS2=$(POKER_CLIENT_OBJS_BASE:.\=os2\) POKER_CLIENT_OBJS_QWIN=$(POKER_CLIENT_OBJS_BASE:.\=qwin\) POKER_SERVER_OBJS_NT_X86=$(POKER_SERVER_OBJS_BASE:.\=ntx86\) POKER_SERVER_OBJS_OS2=$(POKER_SERVER_OBJS_BASE:.\=os2\) # Main OSs all: server client !if "$(OS)"=="Windows_NT" server: ntx86\pokersrv.exe client: ntx86\pokercli.exe !else # "$(OS)"=="os2" server: os2\pokersrv.exe client: os2\pokercli.exe qwin\pokercli.exe !endif clean: -for %%d in ($(BINDIRS)) do del %%d\*.* # Build linker response files os2\pokercli.lnk: makefile echo @<<$@ /batch $(LFLAGS_DEBUG) $(LFLAGS_OS2) + $(POKER_CLIENT_OBJS_OS2: =+^ ) $* $* $(LIBS_OS2: =+^ ) $(POKER_DEF_OS2) <