]> git.sur5r.net Git - cc65/blobdiff - src/cc65/make/watcom.mak
Change the OptStackOps function so that it adjusts the instruction pointer
[cc65] / src / cc65 / make / watcom.mak
index 4ca81c2ac9bcbee0fd5e5ec0d22081c59234c33e..ea83b0e1b08c3d421191a39a4163071b01b78b4f 100644 (file)
@@ -10,22 +10,34 @@ export WATCOM  = c:\\watcom
 export INCLUDE = $(WATCOM)\\h
 
 # We will use the windows compiler under linux (define as empty for windows)
-WINE = wine --
+export WINEDEBUG=fixme-all
+WINE = wine
 
 # Programs
-AR             = $(WINE) WLIB
-CC      = $(WINE) WCC386
-LD             = $(WINE) WLINK
-WSTRIP = $(WINE) WSTRIP
+AR             = $(WINE) wlib
+CC      = $(WINE) wcc386
+LD             = $(WINE) wlink
+WSTRIP = $(WINE) wstrip -q
 
 LNKCFG  = ld.tmp
 
 # Program arguments
-CFLAGS  = -d1 -onatx -zp4 -5 -zq -w2 -i=..\\common
+CFLAGS  = -d1 -obeilr -zp4 -5 -zq -w2 -i=..\\common
 
 # Target files
 EXE    = cc65.exe
 
+# Determine the svn version number if possible
+ifneq "$(shell which svnversion 2>/dev/null)" ""
+ifneq "$(wildcard .svn)" ""
+SVNVERSION=$(shell svnversion)
+else
+SVNVERSION=unknown
+endif
+else
+SVNVERSION=unknown
+endif
+
 # Create NT programs by default
 ifndef TARGET
 TARGET = NT
@@ -53,7 +65,7 @@ endif
 # Implicit rules
 
 %.obj:  %.c
-       $(CC) $(CFLAGS) $^
+       $(CC) $(CFLAGS) -fo=$@ $^
 
 
 # ------------------------------------------------------------------------------
@@ -77,6 +89,7 @@ OBJS =        anonname.obj    \
        coptcmp.obj     \
        coptind.obj     \
        coptneg.obj     \
+        coptptrload.obj \
        coptpush.obj    \
         coptsize.obj    \
        coptstop.obj    \
@@ -90,7 +103,6 @@ OBJS =       anonname.obj    \
        error.obj       \
        expr.obj        \
         exprdesc.obj    \
-       exprnode.obj    \
        funcdesc.obj    \
        function.obj    \
        global.obj      \
@@ -107,16 +119,20 @@ OBJS =    anonname.obj    \
        macrotab.obj    \
        main.obj        \
        opcodes.obj     \
+        output.obj      \
        preproc.obj     \
        pragma.obj      \
        reginfo.obj     \
        scanner.obj     \
         scanstrbuf.obj  \
        segments.obj    \
+        shiftexpr.obj   \
         stackptr.obj    \
+        standard.obj    \
        stdfunc.obj     \
         stdnames.obj    \
        stmt.obj        \
+       svnversion.obj  \
        swstmt.obj      \
        symentry.obj    \
        symtab.obj      \
@@ -132,7 +148,7 @@ LIBS = ../common/common.lib
 # ------------------------------------------------------------------------------
 # Main targets
 
-all:           $(EXE)
+all:           svnversion $(EXE)
 
 
 # ------------------------------------------------------------------------------
@@ -142,17 +158,28 @@ all:              $(EXE)
 $(EXE):        $(OBJS) $(LIBS)
        @echo "DEBUG ALL" > $(LNKCFG)
        @echo "OPTION QUIET" >> $(LNKCFG)
+       @echo "OPTION MAP" >> $(LNKCFG)
+       @echo "OPTION STACK=65536" >> $(LNKCFG)
        @echo "NAME $@" >> $(LNKCFG)
        @for i in $(OBJS); do echo "FILE $${i}"; done >> $(LNKCFG)
        @for i in $(LIBS); do echo "LIBRARY $${i}"; done >> $(LNKCFG)
        @$(LD) system $(SYSTEM) @$(LNKCFG)
        @rm $(LNKCFG)
 
+.PHONY:        svnversion
+svnversion:
+       @$(RM) svnversion.c
+       @echo "/* This file is auto-generated - do not modify! */" >> svnversion.c
+       @echo "" >> svnversion.c
+       @echo "const char SVNVersion[] = \"$(SVNVERSION)\";" >> svnversion.c
+
+svnversion.c:  svnversion
+
 clean:
        @rm -f *~ core
 
 zap:   clean
-       @rm -f *.obj $(EXE)
+       @rm -f $(OBJS) $(EXE) $(EXE:.exe=.map) svnversion.c
 
 strip:
        @-$(WSTRIP) $(EXE)