# Makefile for "cyrix.exe" -- a program to set/view the configuration
# registers for the DLC line of Cyrix processors. 
#
# Copyright 1994, by Paul Gortmaker.
#

# This is a makefile that can be used with Microsoft's programming
# tools to build "cyrix.exe". Note that I tested it with MS C/C++ v7.0
# and MASM v5.1 -- your mileage may vary.

# These *should* be the default definitions of CC, LD and AS for Microsoft's
# "nmake", but we re-define them anyways.

CC = cl
LD = link
AS = masm

CFLAGS = /c /W3 /WX /AS /FPi
LDFLAGS = /NOI
AFLAGS = /Ml /w1 /z

OBJS = cyrix.obj probe.obj enable.obj disable.obj state.obj
LIBS = 

# Uncomment the following lines to use assembly for the port I/O.
# Note that this should be faster and make the program smaller (~3%).

CFLAGS = $(CFLAGS) /DUSE_ASM_IO
OBJS = $(OBJS) read_reg.obj writ_reg.obj

# Uncomment the following lines for optimization.

OPTCFLAGS = /nologo /Gs /G2 /Os /Ob2
OPTLDFLAGS = /NOL /E /PACKC
OPTAFLAGS = /t

# Uncomment the following lines for debugging.
# (Note that you *should* comment the optimization flags above too.)

#DCFLAGS = /Zi /Od
#DLDFLAGS = /CO /INF
#ADFLAGS = /Zi /Zd /v /w2

# Useless DOS. Should have a "rm".... grumble.
RM = del

# Implicit rules.

.asm.obj :
	$(AS) $(OPTAFLAGS) $(AFLAGS) $(ADFLAGS) $*.asm;

.c.obj :
	$(CC) $(OPTCFLAGS) $(CFLAGS) $(DCFLAGS) $*.c

all: cyrix.exe

cyrix.exe: $(OBJS)
	$(LD) $(OPTLDFLAGS) $(LDFLAGS) $(DLDFLAGS) $(OBJS),$(LIBS);

clean:
	$(RM) *.obj
	$(RM) *.map

spotless: clean
	$(RM) cyrix.exe
	$(RM) *.bak
