X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fda65%2Fmake%2Fwatcom.mak;h=8c9479209add49949e3cacdd2ea91459ab722fce;hb=823d0b763663d2148ef8fbf6c680607cd8be8b74;hp=e0323ceeb8787fb9887749deb29284e1087f67f6;hpb=42fb5661f12a007327b4825e294e2605319d1598;p=cc65 diff --git a/src/da65/make/watcom.mak b/src/da65/make/watcom.mak index e0323ceeb..8c9479209 100644 --- a/src/da65/make/watcom.mak +++ b/src/da65/make/watcom.mak @@ -1,123 +1,114 @@ # -# da65 Makefile for the Watcom compiler +# da65 Makefile for the Watcom compiler (using GNU make) # # ------------------------------------------------------------------------------ # Generic stuff -.AUTODEPEND -.SUFFIXES .ASM .C .CC .CPP -.SWAP +# Environment variables for the watcom compiler +export WATCOM = c:\\watcom +export INCLUDE = $(WATCOM)\\h -AR = WLIB -LD = WLINK +# We will use the windows compiler under linux (define as empty for windows) +export WINEDEBUG=fixme-all +WINE = wine -!if !$d(TARGET) -!if $d(__OS2__) -TARGET = OS2 -!else -TARGET = NT -!endif -!endif - -# target specific macros. -!if $(TARGET)==OS2 +# Programs +AR = $(WINE) WLIB +CC = $(WINE) WCC386 +LD = $(WINE) WLINK +WSTRIP = $(WINE) WSTRIP -q -# --------------------- OS2 --------------------- -SYSTEM = os2v2 -CC = WCC386 -CCCFG = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2 +LNKCFG = ld.tmp -!elif $(TARGET)==DOS32 +# Program arguments +CFLAGS = -d1 -onatx -zp4 -5 -zq -w2 -i=..\\common -# -------------------- DOS4G -------------------- -SYSTEM = dos4g -CC = WCC386 -CCCFG = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2 +# Target files +EXE = da65.exe -!elif $(TARGET)==DOS +# Create NT programs by default +ifndef TARGET +TARGET = NT +endif -# --------------------- DOS --------------------- -SYSTEM = dos -CC = WCC -CCCFG = -bt=$(TARGET) -d1 -onatx -zp2 -2 -ml -zq -w2 +# --------------------- OS2 --------------------- +ifeq ($(TARGET),OS2) +SYSTEM = os2v2 +CFLAGS += -bt=$(TARGET) +endif -!elif $(TARGET)==NT +# -------------------- DOS4G -------------------- +ifeq ($(TARGET),DOS32) +SYSTEM = dos4g +CFLAGS += -bt=$(TARGET) +endif # --------------------- NT ---------------------- -SYSTEM = nt -CC = WCC386 -CCCFG = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2 - -!else -!error -!endif - -# Add the include dir -CCCFG = $(CCCFG) -i=..\common - +ifeq ($(TARGET),NT) +SYSTEM = nt +CFLAGS += -bt=$(TARGET) +endif # ------------------------------------------------------------------------------ # Implicit rules -.c.obj: - $(CC) $(CCCFG) $< +%.obj: %.c + $(CC) $(CFLAGS) $^ # ------------------------------------------------------------------------------ # All OBJ files -OBJS = attrtab.obj \ +OBJS = asminc.obj \ + attrtab.obj \ code.obj \ - config.obj \ - cpu.obj \ + comments.obj \ + data.obj \ error.obj \ global.obj \ handler.obj \ + infofile.obj \ + labels.obj \ main.obj \ - opctable.obj \ + opc6502.obj \ + opc65816.obj \ + opc65c02.obj \ + opc65sc02.obj \ + opctable.obj \ output.obj \ - scanner.obj + scanner.obj \ + segment.obj -LIBS = ..\common\common.lib +LIBS = ../common/common.lib # ------------------------------------------------------------------------------ # Main targets -all: da65 - -da65: da65.exe +all: $(EXE) # ------------------------------------------------------------------------------ # Other targets -da65.exe: $(OBJS) $(LIBS) - $(LD) system $(SYSTEM) @&&| -DEBUG ALL -OPTION QUIET -NAME $< -FILE attrtab.obj -FILE code.obj -FILE config.obj -FILE cpu.obj -FILE error.obj -FILE global.obj -FILE handler.obj -FILE main.obj -FILE opctable.obj -FILE output.obj -FILE scanner.obj -LIBRARY ..\common\common.lib -| +$(EXE): $(OBJS) $(LIBS) + @echo "DEBUG ALL" > $(LNKCFG) + @echo "OPTION QUIET" >> $(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 *.obj del da65.exe + @rm -f *~ core + +zap: clean + @rm -f *.obj $(EXE) strip: - @-wstrip da65.exe + @-$(WSTRIP) $(EXE)