!include $(WXDIR)\src\makewat.env
WXLIB = $(WXDIR)\lib
-LNK = $(PROGRAM).lnk
+LNK = $(OUTPUTDIR)$(PROGRAM).lnk
-all: $(PROGRAM).exe $(EXTRATARGETS)
+all: $(OUTPUTDIR) $(OUTPUTDIR)$(PROGRAM).exe $(EXTRATARGETS) .SYMBOLIC
-$(PROGRAM).exe : $(OBJECTS) $(PROGRAM).res $(LNK) $(WXLIB)\wx.lib
+$(OUTPUTDIR):
+ @if not exist $^@ mkdir $^@
+
+!ifeq wxUSE_GUI 0
+RESFILE=
+!else
+RESFILE=$(OUTPUTDIR)$(PROGRAM).res
+!endif
+
+$(OUTPUTDIR)$(PROGRAM).exe : $(OBJECTS) $(RESFILE) $(LNK) $(WXLIB)\$(LIBNAME).lib
wlink @$(LNK)
- $(BINDCOMMAND) $(PROGRAM).res
+!ifneq wxUSE_GUI 0
+ $(BINDCOMMAND) $(RESFILE)
+!endif
-$(PROGRAM).res : $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc
- $(RC) $(RESFLAGS1) $(PROGRAM).rc
+!ifneq wxUSE_GUI 0
+$(RESFILE): $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc
+ $(RC) $(RESFLAGS) /fo=$(RESFILE) $(PROGRAM).rc
+!endif
$(LNK) : makefile.wat
%create $(LNK)
- @%append $(LNK) debug all
+ @%append $(LNK) $(DEBUGINFO)
@%append $(LNK) system $(LINKOPTION)
@%append $(LNK) $(STACK)
- @%append $(LNK) name $(PROGRAM).exe
+ @%append $(LNK) name $(OUTPUTDIR)$(PROGRAM).exe
@for %i in ($(OBJECTS)) do @%append $(LNK) file %i
@for %i in ($(LIBS)) do @%append $(LNK) lib %i
@for %i in ($(EXTRALIBS)) do @%append $(LNK) lib %i
-# @%append $(LNK) $(MINDATA)
-# @%append $(LNK) $(MAXDATA)
clean: .SYMBOLIC
- -erase *.obj
- -erase *.bak
- -erase *.err
- -erase *.pch
- -erase *.lib
+ -erase $(OUTPUTDIR)*.obj
+ -erase $(OUTPUTDIR)*.bak
+ -erase $(OUTPUTDIR)*.err
+ -erase $(OUTPUTDIR)*.pch
+ -erase $(OUTPUTDIR)*.lib
-erase $(LNK)
- -erase *.res
- -erase *.exe
- -erase *.lbc
+ -erase $(OUTPUTDIR)*.res
+ -erase $(OUTPUTDIR)*.exe
+ -erase $(OUTPUTDIR)*.lbc
+ -rmdir $(OUTPUTDIR)