#
# Makefile for MIDIMON sample application.
#
# Makes the CALLBACK DLL as well as the MIDIMON executable.
#

goal: callback.dll midimon.exe

.asm.obj:
    masm -Mx -Zi $*.asm;

.c.obj:
    cl -c -W3 -AS -G2sw -Zip -Od $*.c

#
# Targets for CALLBACK.DLL
#
libentry.obj: libentry.asm

callback.obj: callback.c callback.h circbuf.h instdata.h midimon.h
    cl -c -W3 -ASnw -G2sw -Zi -Od callback.c

callback.dll: libentry.obj callback.obj callback.def
    link /CO/NOE/MAP/NOD libentry callback, callback.dll, callback.map, sdllcew libw mmsystem, callback.def
    rc callback.dll

#
# Import library for use in building MIDIMON.EXE 
#
callback.lib: callback.dll
    implib callback.lib callback.def

#
# Targets for MIDIMON.EXE
#
about.obj: about.c about.h

circbuf.obj: circbuf.c circbuf.h midimon.h

display.obj: display.c circbuf.h display.h midimon.h

filter.obj: filter.c display.h filter.h midimon.h

instdata.obj: instdata.c circbuf.h instdata.h midimon.h

midimon.obj: midimon.c about.h callback.h circbuf.h display.h filter.h \
    instdata.h midimon.h prefer.h

prefer.obj: prefer.c midimon.h prefer.h

midimon.res: midimon.rc midimon.ico midimon.h
    rc -r midimon.rc

midimon.exe: midimon.obj about.obj circbuf.obj display.obj filter.obj instdata.obj prefer.obj callback.lib midimon.def midimon.res
    link /CO/NOE/MAP/NOD midimon about circbuf display filter instdata prefer,,,libw slibcew mmsystem callback, midimon.def
    rc midimon.res

clean:
    del *.dll
    del *.exe
    del *.obj
    del *.map
    del *.res
