X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fca65%2Fmake%2Fwatcom.mak;h=8760b0691a7f011f4def187114cfd70021d7ad22;hb=c52916f461f5f723bc8f2146e346dcb2de3b2f18;hp=0f3813accbecfc2b7da9c5cf71a7c932bb30071e;hpb=fbdbf4d07c085fdc4e89707d43e7a48c3f373ed0;p=cc65 diff --git a/src/ca65/make/watcom.mak b/src/ca65/make/watcom.mak index 0f3813acc..8760b0691 100644 --- a/src/ca65/make/watcom.mak +++ b/src/ca65/make/watcom.mak @@ -5,39 +5,56 @@ # ------------------------------------------------------------------------------ # Generic stuff -AR = WLIB -LD = WLINK +# Environment variables for the watcom compiler +export WATCOM = c:\\watcom +export INCLUDE = $(WATCOM)\\h + +# We will use the windows compiler under linux (define as empty for windows) +export WINEDEBUG=fixme-all +WINE = wine + +# Programs +AR = $(WINE) wlib +CC = $(WINE) wcc386 +LD = $(WINE) wlink +WSTRIP = $(WINE) wstrip -q + LNKCFG = ld.tmp +# Program arguments +CFLAGS = -d1 -obeilr -zp4 -5 -zq -w2 -i=..\\common + +# Target files +EXE = ca65.exe + +# Create NT programs by default +ifndef TARGET +TARGET = NT +endif + # --------------------- OS2 --------------------- ifeq ($(TARGET),OS2) SYSTEM = os2v2 -CC = WCC386 -CFLAGS = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2 +CFLAGS += -bt=$(TARGET) endif # -------------------- DOS4G -------------------- ifeq ($(TARGET),DOS32) SYSTEM = dos4g -CC = WCC386 -CFLAGS = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2 +CFLAGS += -bt=$(TARGET) endif # --------------------- NT ---------------------- ifeq ($(TARGET),NT) SYSTEM = nt -CC = WCC386 -CFLAGS = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2 +CFLAGS += -bt=$(TARGET) endif -# Add the include dir -CFLAGS += -i=..\common - # ------------------------------------------------------------------------------ # Implicit rules %.obj: %.c - $(CC) $(CFLAGS) $^ + $(CC) $(CFLAGS) -fo=$@ $^ # ------------------------------------------------------------------------------ @@ -47,7 +64,9 @@ OBJS = anonname.obj \ asserts.obj \ condasm.obj \ dbginfo.obj \ - ea.obj \ + ea65.obj \ + easw16.obj \ + enum.obj \ error.obj \ expr.obj \ feature.obj \ @@ -70,40 +89,48 @@ OBJS = anonname.obj \ repeat.obj \ scanner.obj \ segment.obj \ + sizeof.obj \ + span.obj \ spool.obj \ + struct.obj \ + studyexpr.obj \ + symbol.obj \ symentry.obj \ symtab.obj \ + token.obj \ toklist.obj \ ulabel.obj -LIBS = ..\common\common.lib +LIBS = ../common/common.lib # ------------------------------------------------------------------------------ # Main targets -all: ca65 - -ca65: ca65.exe +all: $(EXE) # ------------------------------------------------------------------------------ # Other targets -ca65.exe: $(OBJS) $(LIBS) - @echo DEBUG ALL > $(LNKCFG) - @echo OPTION QUIET >> $(LNKCFG) - @echo NAME $@ >> $(LNKCFG) - @for %%i in ($(OBJS)) do echo FILE %%i >> $(LNKCFG) - @for %%i in ($(LIBS)) do echo LIBRARY %%i >> $(LNKCFG) - $(LD) system $(SYSTEM) @$(LNKCFG) +$(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) clean: - @if exist *.obj del *.obj - @if exist ca65.exe del ca65.exe + @rm -f *~ core + +zap: clean + @rm -f $(OBJS) $(EXE) $(EXE:.exe=.map) strip: - @-wstrip ca65.exe + @-$(WSTRIP) $(EXE)