###########################################################################
#
#	@(#)Makefile	2.145 
#
#	Copyright (c) 1995-1996, Willows Software Inc.  All rights reserved.
#
#	Makefile for win directory.
#
###########################################################################
#
#	TARGET is the platform we are building for, one of:
#	  sunos,linux,sol24,sol86,hpux,sco,uware,mips,aix,ibm
#
#	TWINDIR is the root of the source tree.
#
#	INSTALLDIR is the destination directory for any installations.
#
###########################################################################

include $(TWINDIR)/makeinclude/Makefile.$(TARGET)$(COMPILER)
include $(TWINDIR)/makeinclude/Makefile.version

# Installation command, used to control owner and privleges.
INSTALL       = install -m 0644
INSTALL_EXEC  = install -m 0755

################### Directories ###########################################

XDOS     =	xdos
INTP32	 =	intp32
DEBUGGER =	debugger
READLINE =	readline
DRVX11   =	x11
COMMCTRL =	commctrl
SHELLDIR =	shell
COMMDLGDIR =	commdlg
DLLDIR   =      dll
MMSYSTEMDIR =	multimedia/mmsystem

ALLDIRS = $(XDOS) $(COMMDLG) $(INTP32) $(DEBUGGER) $(READLINE) \
	  $(DRVX11) $(COMMCTRL) $(SHELLDIR) $(COMMDLGDIR) \
	  $(MMSYSTEMDIR)

###########################################################################
#
#	this are user defined build options
#	debugging, profile, optimizations...
#

#
# Compiler switches
# pulled from Makefile.$(TARGET)
# used to specify release build options
#
# TWINOPT is used to switch different debugging options, they are:
#	TWINOPT=DBG 	debug build
#	TWINOPT=OPT	optimized build
#	TWINOPT=PROF	profiled build
#	TWINOPT=	defaults to null flags.
#
DEBUG_XXX	=$(TWINOPT:DBG=-DDEBUG -DTRACE) $(TWINOPT:OPT=$(CCOPTIM)) $(TWINOPT:PROF=-p)
DEBUG_XXX	=$(TWINOPT:DBG=) $(TWINOPT:OPT=$(CCOPTIM)) $(TWINOPT:PROF=-p)
DEBUG_XX	=$(DEBUG_XXX:PROF=)
DEBUG_X		=$(DEBUG_XX:DBG=)
DEBUG		=$(DEBUG_X:OPT=)

GFLAG_XXX	=$(TWINOPT:DBG=-g) 
GFLAG_XX	=$(GFLAG_XXX:PROF=)
GFLAG_X		=$(GFLAG_XX:DBG=)
GFLAG		=$(GFLAG_X:OPT=)

# Tags that are appended to exec and libs when installed.
APPEND_XX    	=$(TWINOPT:PROF=_prof)
APPEND_X      	=$(APPEND_XX:DBG=_dbg)
APPEND        	=$(APPEND_X:OPT=)

COPY 	= cp
DELETE	= rm
###########################################################################
#
#	This is the product description
#

WINRT	= -ltwin $(EXTRALIB)
WINRT32	= -ltwin32 $(EXTRALIB)

############################################################################
#
# CC options for building the libraries
#

#
# TWIN_WININC
#	1 -I for headers defined locally here.
#	2 -I for headers defined in $(TWINDIR)/include
#
# CFLAGS will include
#	1 $(TWIN_WININC)
#	2 $(TWIN_SYSINC) for header files defined by the platform, 
#		ie. such as the X11 header files for some platforms
# 	3 DEBUG, COMPILER and PLATFORM definitions, 
#	4 USER defineable AUX

TWIN_WININC = -I$(TWINDIR)/$(TWINSRC) -I$(TWINDIR)/include 

CFLAGS	= $(TWIN_WININC) $(TWIN_SYSINC) $(DEBUG) $(GFLAG) $(PLATFORM) $(AUX)
LDFLAGS	= $(GFLAG) -L. $(TWINLIB) $(TWIN_WINLIB) $(TWIN_SYSLIB) $(AUX)

PASSFLAGS = "TARGET=$(TARGET)" "DEBUG=$(DEBUG)" "GFLAG=$(GFLAG)" "AUX=$(AUX)"

############################################################################
#
#	the library objects
#

GDIOBJ	=	GdiObjects.o GdiBitmaps.o GdiClipping.o \
		GdiDC.o GdiBoundsRect.o GdiDCAttr.o GdiGraphics.o \
		GdiImages.o GdiBrute.o GdiMath.o \
		GdiText.o GdiRegions.o GdiPrinter.o FancyRgn.o \
		WSprintf.o DrawText.o Dither.o Caret.o \
		Palette.o MapMode.o ConvertArray.o \
		DisplayDC.o DisplayGraphics.o DisplayObjects.o \
		DisplayText.o DisplayClipping.o DeviceData.o LSDevices.o \
		Metafile.o Metaplay.o MetaGraphics.o MetaObjects.o \
		WImageIO.o WBmp.o

DRVOBJ  =	Driver.o

LIBOBJ  = 	LoadLibrary.o ModTable.o WinNat.o IsBinary.o

PRINTOBJ= 	PrinterGraphics.o PrintManager.o GdiTTEngine.o \
		PrinterDC.o

KERNOBJ = 	SysKeyboard.o Kernel.o ObjEngine.o FileSys.o Net.o System.o \
		WinHelp.o SysMisc.o KrnAtoms.o KrnFileIO.o Events.o KrnTask.o \
		File32.o Threads.o Critical.o Interlock.o FormatMessage.o \
		CreateProcess.o Beep.o

USEROBJ	=	Resources.o  SysMetrics.o Dialog.o Profile.o Strings.o \
		MenuProc.o MenuAPI.o UsrCursor.o DefWnd.o Messages.o \
		Rect.o WSysMenu.o WinConfig.o Time.o Hotkey.o

SECOBJ  =	Splash.o 

WINOBJ  = 	WindowPos.o WindowBytes.o WindowCreate.o WindowProps.o \
		WindowRedraw.o WindowDC.o MDI.o Frame.o Hook.o Classes.o

IPCOBJ  = 	DdeML.o OleCli.o OleSvr.o O2CompObj.o O2GUID.o Clipboard.o 

CTLOBJ	= 	Listbox.o ComboBox.o \
		Button.o ButtonDraw.o Static.o Scroll.o ScrollPaint.o

CTLOBJ2	=	Edit.o EditKey.o EditDraw.o \
		EditMem.o EditMisc.o

RSCOBJ  = 	RscTemplate.o ConvertRes.o RscData.res.o 

DLLOBJ  = 	ToolHelp.o Comm.o Ver.o LZExpand.o  \
		MessageBox.o Sound.o MCI.o MultiMedia.o

DBGOBJ  = 	utils.o Logging.o MsgCode.o

BINOBJ = 	LocalMem.o ConvertMsg.o Callback.o LoadDLL.o \
		GenericIF.o SpecialIF.o OleIF.o HookIF.o MemoryIF.o \
		VerIF.o CommIF.o WinSockIF.o PrintIF.o \
		PrinterBin.o BitmapBin.o OEMRoutines.o OEMTab.o \
		make_thunk.o invoke_binary.o DPMI.o ValidateModule.o \
		IOEmu.o KrnCatch.o

WSOCKOBJ = 	WinSock.o \
		WinSockUtil.o 

BINOBJ2 =	EditMemBin.o

MMSYSTEMOBJ=	multimedia.o

# TWINOBJ defines those modules which cannot be part of the shared
# object on some platforms, due to architecture limitations.  This
# includes the Mac and the IBM/AIX platforms.  Do NOT make TWINOBJ
# part of ALLOBJ at any time.

TWINOBJ =	TwinDeflib.o TwinXWin.o

CPUOBJ_XXX	= $(CPUTYPE:INT16=intp.o DPMInotify.o) \
		  $(CPUTYPE:INT=intp32.o DPMInotify.o) \
		  $(CPUTYPE:CPU=Exec.o ExecUtl.o Exec$(EXECSUFFIX).o debugger.o readline.o)
CPUOBJ_XX	= $(CPUOBJ_XXX:INT16=)
CPUOBJ_X	= $(CPUOBJ_XX:INT=)
CPUOBJ		= $(CPUOBJ_X:CPU=)

XDOSOBJ = 	xdos.o
DRVX11OBJ =	x11.o

APIOBJ	=	$(GDIOBJ) $(PRINTOBJ) $(KERNOBJ) \
		$(USEROBJ) $(SECOBJ) $(WINOBJ) $(IPCOBJ) \
		$(CTLOBJ) $(RSCOBJ) $(DLLOBJ) $(DBGOBJ) $(LIBOBJ)

APIOBJ2	=	$(CTLOBJ2) $(WSOCKOBJ)

#############################################################################
#
#	the library sources
#

INTSRC = 	Intp.c DPMInotify.c

EXECSRC	=	Exec.c  ExecUtl.S

ALLSRC	=	$(APIOBJ:.o=.c) \
		$(APIOBJ2:.o=.c) \
		$(BINOBJ:.o=.c) \
		$(BINOBJ2:.o=.c) \
		$(DRVOBJ:.o=.c) \
		$(INTSRC) \
	 	$(EXECSRC)

#	The ALLOBJ macro is, surprisingly, all of the object modules.
#	Well, almost.  We cannot include TWINOBJ in this macro, as it
#	must be handled specially on some platforms.

ALLOBJ  =       version.o $(APIOBJ) $(APIOBJ2) $(DRVOBJ) $(BINOBJ) \
		$(CPUOBJ) $(DRVX11OBJ) $(XDOSOBJ) $(BINOBJ2) \
		$(MMSYSTEMOBJ)

ALLOBJ_SUNOS = version.o $(APIOBJ) $(APIOBJ2) $(DRVOBJ) $(BINOBJ) \
		$(BINOBJ2) DPMInotify.o intp32/*.o xdos/*.o \
		x11/*.o \
		$(MMSYSTEMDIR)/*.o

#############################################################################
#
#	objects needed for xwin
#

XWINOBJ =	WinMain.o TwinRT.res.o


#############################################################################
#
#	dependency rules for C++ files
#
.SUFFIXES:	.C
.C.o:
	$(C++) $(CFLAGS) -c $<

#############################################################################
#
#	header files 
#

APIHDR	=	ObjEngine.h Button.h Classes.h Edit.h Log.h \
		Kernel.h Listbox.h Menus.h Messages.h Meta.h \
		Objects.h Resources.h Scroll.h Static.h SysMetrics.h \
		GdiObjects.h kerndef.h DragDrop.h \
		Endian.h Log.h WinDefs.h WinData.h \
		KrnAtoms.h Dialog.h utils.h PrinterBin.h \
		GdiDC.h GdiRegions.h \
		Hook.h compat.h version.h

LIBHDR  = 	cderr.h colordlg.h commdlg.h custcntl.h ddeml.h dlgs.h \
		ole.h print.h shellapi.h windows.h windowsx.h ver.h dde.h \
		mmsystem.h toolhelp.h

BINHDR  = 	LoadEXE.h BinTypes.h Module.h \
		Intp.h LoadEXE.h Segment.h OEM.h DPMI.h

DRVHDR  =	Driver.h

HEADERS =	$(APIHDR) $(BINHDR) $(LIBHDR) $(DRVHDR)

MS_HEADERS= 	$(LIBHDR) penwin.h penwoem.h

# The SDK Include files to be moved into twin/include

SDK_HEADERS = 	$(MS_HEADERS) Resources.h compat.h dos.h \
		kerndef.h utils.h twindll.h

#############################################################################

all:	xwin

dll16:
	$(MAKE) -C $(TWINDIR)/$(DLLDIR) $(PASSFLAGS) install

shell16:
	$(MAKE) -C $(TWINDIR)/$(SHELLDIR) $(PASSFLAGS) install

commdlg16:
	$(MAKE) -C $(TWINDIR)/$(COMMDLGDIR) $(PASSFLAGS) install

libs:   $(LIBTWIN) dll16 shell16 commdlg16
	
dll32:
	$(MAKE) -C $(TWINDIR)/$(DLLDIR) $(PASSFLAGS) install32

shell32:
	$(MAKE) -C $(TWINDIR)/$(SHELLDIR) $(PASSFLAGS) install32

commdlg32:
	$(MAKE) -C $(TWINDIR)/$(COMMDLGDIR) $(PASSFLAGS) install32

commctrl32:
	$(MAKE) -C $(TWINDIR)/$(COMMCTRL) $(PASSFLAGS) install32

libs32: dll32 shell32 commdlg32 commctrl32

build:	version $(LIBTWIN)

cpu:	$(CPUOBJ)

xdos.o: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(XDOS) $(PASSFLAGS)

xdos_build: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(XDOS) nolink $(PASSFLAGS)

x11.o: ALWAYS
	$(MAKE) -C $(TWINDIR)/pal/$(DRVX11) $(PASSFLAGS)

x11_build: ALWAYS
	$(MAKE) -C $(DRVX11) nolink $(PASSFLAGS)

intp32.o: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(INTP32) $(PASSFLAGS)

debugger.o: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(DEBUGGER) $(PASSFLAGS)

readline.o: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(READLINE) $(PASSFLAGS)

multimedia.o: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(MMSYSTEMDIR) $(PASSFLAGS)

multimedia_build: ALWAYS
	$(MAKE) -C $(TWINDIR)/$(MMSYSTEMDIR) nolink $(PASSFLAGS)

#############################################################################

xwin:	$(WINEXE) libs
	rm -rf xwin
	ln -s $(WINEXE) xwin

win286:	$(LIBTWIN) $(XWINOBJ)
	${CC} ${LDFLAGS} -o win $(XWINOBJ) $(WINRT)

win386:	$(LIBTWIN) $(XWINOBJ) 
	${CC} ${LDFLAGS} -o win386 $(XWINOBJ) $(WINRT)

win486: $(LIBTWIN) $(XWINOBJ)
	${CC} ${LDFLAGS} -o win486 $(XWINOBJ) $(WINRT)

xwin32: libtwin32 xwinobj32 libs32 
	${CC} ${LDFLAGS} -o xwin32 $(XWINOBJ) $(WINRT32)

win486a: libtwin.a xwinInit.o $(XWINOBJ)
	${CC} -L$(TWINDIR)/release/lib ${LDFLAGS} -o win486a $(XWINOBJ) xwinInit.o libtwin.a libcommdlg.a libshell.a $(EXTRALIB)

libtwin.a: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${AR} r libtwin.a $(ALLOBJ) $(TWINOBJ)
	${RANLIB} libtwin.a

libtwin.so: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${CCSHARE} $(LDSHARED) -o libtwin.so.$(VERSION).$(PATCHLEVEL) $(ALLOBJ) $(TWINOBJ) $(SHARELIB)
	rm -f libtwin.so
	ln -s libtwin.so.$(VERSION).$(PATCHLEVEL) libtwin.so

libtwin32:
	make AUX="-DTWIN32 $(AUX)" $(LIBTWIN32)

xwinobj32:
	make AUX="-DTWIN32 $(AUX)" $(XWINOBJ)

libtwin32.so: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${CCSHARE} $(LDSHARED) -o libtwin32.so.$(VERSION).$(PATCHLEVEL) $(ALLOBJ) $(TWINOBJ) $(SHARELIB)
	rm -f libtwin32.so
	ln -s libtwin32.so.$(VERSION).$(PATCHLEVEL) libtwin32.so


# Special link targets for HP/UX.

libtwin.sl: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${CCSHARE} $(LDSHARED) -o libtwin.sl.$(VERSION).$(PATCHLEVEL) $(ALLOBJ) $(TWINOBJ) $(SHARELIB)
	rm -f libtwin.sl
	ln -s libtwin.sl.$(VERSION).$(PATCHLEVEL) libtwin.sl

libtwin32.sl: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${CCSHARE} $(LDSHARED) -o libtwin32.sl.$(VERSION).$(PATCHLEVEL) \
		$(ALLOBJ) $(TWINOBJ) $(SHARELIB)
	rm -f libtwin32.sl
	ln -s libtwin32.sl.$(VERSION).$(PATCHLEVEL) libtwin32.sl


#  IBM/AIX method is a bit unusual.  Most object modules get built
#  into a single shared object.  The modules needed for main() and
#  its support (TWINOBJ) are built as normal objects.  These are
#  then all put into the library, which effectively becomes a 
#  library which is -mostly- shared.

libtwin_ibm.a: $(ALLOBJ) $(TWINOBJ) libtwin.exports
	rm -f libtwin.a libtwin_ibm.a libtwin.o
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	$(CCSHARE) $(LDSHARED) -o libtwin.o $(ALLOBJ) $(SHARELIB)
	$(AR) r libtwin.a libtwin.o $(TWINOBJ)
	ln -s libtwin.a libtwin_ibm.a

libtwin32_ibm.a: $(ALLOBJ) $(TWINOBJ) libtwin32.exports
	rm -f libtwin32.a libtwin32_ibm.a libtwin32.o
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	$(CCSHARE) $(LDSHARED32) -o libtwin32.o $(ALLOBJ) $(SHARELIB)
	$(AR) r libtwin32.a libtwin32.o $(TWINOBJ)
	ln -s libtwin32.a libtwin32_ibm.a


#  Sunos 4.1.3 method is non-standard, due to "ld -r" on PIC code not
#  not working properly.  (You get errors at link time on the output file.)
#  So we build everything normally, but at link time, bring in the .o files
#  from the subdirectory, not from the  "ld -r" output files.

libtwin_sunos.so: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${CCSHARE} $(LDSHARED) -o libtwin.so.$(VERSION).$(PATCHLEVEL) \
	$(ALLOBJ_SUNOS) $(TWINOBJ) $(SHARELIB)
	ln -s libtwin.so.$(VERSION).$(PATCHLEVEL) libtwin.so
	ln -s libtwin.so.$(VERSION).$(PATCHLEVEL) libtwin_sunos.so

libtwin32_sunos.so: $(ALLOBJ) $(TWINOBJ)
	make $(PASSFLAGS) version
	make $(PASSFLAGS) version.o
	${CCSHARE} $(LDSHARED) -o libtwin32.so.$(VERSION).$(PATCHLEVEL) \
	$(ALLOBJ_SUNOS) $(TWINOBJ) $(SHARELIB)
	ln -s libtwin32.so.$(VERSION).$(PATCHLEVEL) libtwin32.so
	ln -s libtwin32.so.$(VERSION).$(PATCHLEVEL) libtwin32_sunos.so


##########################################################################
#
# Window Tools
#

lzc:	lzc.c
	$(CC) $(CFLAGS) -o lzc lzc.c

lze:	lzc.c
	$(CC) $(CFLAGS) -o lze -DEXPAND lzc.c

##########################################################################
#
# Special Objects
#

ExecUtl.o: ExecUtl.S
	rm -f $*.s
	$(CC) $(TWIN_SYSINC) $(GFLAG) $(DEBUG) $(AUX) $(PLATFORM) -E $< > $*.s
	$(CC) $(TWIN_SYSINC) $(GFLAG) $(DEBUG) $(AUX) $(PLATFORM) -c $*.s

TwinRT.res.c: TwinRT.rc TwinRT.def
	rc -I$(TWINDIR)/$(TWINSRC) -I$(TWINDIR)/include TwinRT.rc 

RscData.res.c: RscData.rc RscData.def
	rc -I$(TWINDIR) -I$(TWINDIR)/$(TWINSRC) -I$(TWINDIR)/include RscData.rc 

xwinInit.c:
	linkdll -o xwinInit.c libcommdlg libshell

##########################################################################
#
# Make utilities
#

clean:
	rm -f *.a */*.a lib*.so* */lib*.so* lib*.sl* */lib*.sl*
	rm -f *.o */*.o */*/*.o
	rm -f *.gof */*.gof */*/*.gof
	rm -f *.def.c */*.def.c *.res.c */*.res.c core */core
	rm -f xwin* win286* win386* win486*
	rm -f version.h version_time win486a ExecUtl.s

clobber: clean
	for i in $(ALLDIRS); do cd $(TWINDIR)/$(TWINSRC)/$$i && make clean; done

ctags:
	ctags *.c *.h >/dev/null 2>&1

writable:
	@ls -lrt Makefile *.[ch] |grep "\-rw" |grep -v ".res.c"

release:
	srls -r * >Filelist.rls

filelist:
	@for f in $(ALLSRC) $(HEADERS) Makefile* *.rc; do echo $$f;done |sort

sdiffs:
	@for f in $(ALLSRC) $(HEADERS); do echo $$f;sdiffs $$f; done

link32:	clean
	rm -rf $(TWINDIR)/$(TWINSRC)32
	-mkdir $(TWINDIR)/$(TWINSRC)32
	cd $(TWINDIR)/$(TWINSRC)32 && mkdir $(ALLDIRS)
	@for f in `ls -d *`; do echo $(TWINDIR)/$(TWINSRC)32/$$f; ln -s $(TWINDIR)/$(TWINSRC)/$$f $(TWINDIR)/$(TWINSRC)32/$$f; done 
	@for f in $(ALLDIRS); do cd $(TWINDIR)/$(TWINSRC)/$$f; for g in `ls -d *`; do echo $$f/$$g; ln -s $(TWINDIR)/$(TWINSRC)/$$f/$$g $(TWINDIR)/$(TWINSRC)32/$$f/$$g; done; done

link:	clean
	-mkdir $$TARGET $$TARGET/$$TWINOPT
	@for f in $(ALLOBJ) $(XWINOBJ); do echo $$TARGET/$(TWINOPT)/$$f; ln -s $$TARGET/$(TWINOPT)/$$f $$f ; done 

tar:
	tar cvf archive.src $(ALLSRC) $(HEADERS) Makefile.*

depend:
	makedepend -f Makedepend.$(TARGET) $(DEPEND) $(TWIN_SYSINC) $(ALLSRC)

version: version_time
	@-/bin/sh ./makever.sh
	@-echo \#define WIN_RELEASE \"$(VERSION).$(PATCHLEVEL).$(ALPHA)\" > version.h
	@-echo \#define WIN_VERSION \"\#`cat .version` `date`\" >> version.h
	@-echo \#define WIN_COMPILE_BY \"`whoami`\"     >> version.h
	@-echo \#define WIN_COMPILE_HOST \"`hostname`\" >> version.h
	@-echo \#define WIN_DATE_SECS `./version_time` >> version.h
	@-echo \#define TWINOPT \"$(TWINOPT)\" >> version.h

version.h:
	$(MAKE) version

version.o: version.c version.h

version_time: version_time.c
	cc -o version_time version_time.c

LIBEXT_XX = $(LIBTWIN:libtwin.a=.a)
LIBEXT_X  = $(LIBEXT_XX:libtwin.so=.so)
LIBEXT    = $(LIBEXT_X:libtwin.sl=.sl)

install: xwin headers$(APPEND)
	strip xwin ; $(INSTALL_EXEC) xwin $(INSTALLDIR)/bin/xwin$(APPEND)
	$(INSTALL) $(LIBTWIN)  $(INSTALLDIR)/lib/libtwin$(APPEND)$(LIBEXT)

headers:
	$(INSTALL) $(SDK_HEADERS) $(INSTALLDIR)/include

headers_dbg:	# NOP to reduce copying
headers_prof:	# NOP to reduce copying

flags:
	@echo "TWINOPT  = $(TWINOPT)"
	@echo "TWIN_CFLAGS = $(TWIN_CFLAGS)"
	@echo "AUX        = $(AUX)"
	@echo
	@echo "GFLAG    = $(GFLAG)"
	@echo "DEBUG    = $(DEBUG)"
	@echo "APPEND   = $(APPEND)"
	@echo
	@echo "CFLAGS    = $(CFLAGS)"
	@echo "LDFLAGS   = $(LDFLAGS)"
	@echo "WINRT     = $(WINRT)"
	@echo "WINRT32   = $(WINRT32)"
	@echo
	@echo "TARGET   = $(TARGET)"
	@echo "PLATFORM = $(PLATFORM)"
	@echo "COMPILER = $(COMPILER)"
	@echo "PASSFLAGS = $(PASSFLAGS)"
	@echo
	@echo "LIBTWIN  = $(LIBTWIN)"
	@echo "LIBTWIN32 = $(LIBTWIN32)"
	@echo "TWINDIR  = $(TWINDIR)"
	@echo "TWINSRC  = $(TWINSRC)"
	@echo "TWINAPI  = $(TWINAPI)"
	@echo "INSTALLDIR = $(INSTALLDIR)"
	@echo
	@echo "WINEXE   = $(WINEXE)"
	@echo
	@echo "ALLDIRS    = $(ALLDIRS)"
	@echo
	@echo "LOADERS    = $(LOADERS)"
	@echo "XDOS       = $(XDOS)"
	@echo "COMMDLG    = $(COMMDLG)"
	@echo "DRVX11     = $(DRVX11)"
	@echo "DEBUGGER   = $(DEBUGGER)"
	@echo "READLINE   = $(READLINE)"
	@echo "INTP32     = $(INTP32)"

ALWAYS:

##########################################################################
#
# Source file dependencies are located in Makedepend.$(TARGET)
#
include Makedepend.$(TARGET)

##########################################################################
#
#
# DO NOT DELETE THIS LINE -- make depend depends on it.

