git-subtree-dir: src/dp_doom git-subtree-split: 190992421c7c643afc99d7f7c511c162f65bea85
74 lines
2.1 KiB
Makefile
74 lines
2.1 KiB
Makefile
# Makefile for OS/2 using Open Watcom compiler.
|
|
#
|
|
# wmake
|
|
# - builds wildmidi.dll and its import lib (wildmidi.lib)
|
|
#
|
|
# wmake target=static
|
|
# - builds the static library wildmidi_static.lib
|
|
|
|
!ifndef target
|
|
target = dll
|
|
!endif
|
|
|
|
CFLAGS = -bt=os2 -bm -fp5 -fpi87 -mf -oeatxh -w4 -ei -j -zp8 -zq
|
|
# -5s : Pentium stack calling conventions.
|
|
# -5r : Pentium register calling conventions.
|
|
CFLAGS+= -5s
|
|
DLLFLAGS=-bd
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .obj .c
|
|
|
|
DLLNAME=wildmidi.dll
|
|
EXPNAME=wildmidi.exp
|
|
LIBNAME=wildmidi.lib
|
|
LIBSTATIC=wildmidi_static.lib
|
|
PLAYER=wildmidi.exe
|
|
PLAYER_STATIC=wildmidi_static.exe
|
|
PLAYER_LIBS=mmpm2.lib
|
|
|
|
CFLAGS_LIB= $(CFLAGS) -DWILDMIDI_BUILD
|
|
CFLAGS_EXE= $(CFLAGS)
|
|
!ifeq target static
|
|
BLD_TARGET=$(LIBSTATIC) $(PLAYER_STATIC)
|
|
!else
|
|
CFLAGS_LIB+= $(DLLFLAGS)
|
|
BLD_TARGET=$(DLLNAME) $(PLAYER)
|
|
!endif
|
|
INCLUDES=-I. -I"../include"
|
|
|
|
OBJ=wm_error.obj file_io.obj lock.obj wildmidi_lib.obj reverb.obj gus_pat.obj f_xmidi.obj f_mus.obj f_hmp.obj f_midi.obj f_hmi.obj mus2mid.obj xmi2mid.obj internal_midi.obj patches.obj sample.obj
|
|
PLAYER_OBJ=getopt_long.obj wm_tty.obj wildmidi.obj
|
|
|
|
all: $(BLD_TARGET)
|
|
|
|
# rely on symbol name, not ordinal: -irn switch of wlib is default, but -inn is not.
|
|
$(DLLNAME): $(OBJ)
|
|
wlink NAM $@ OP q SYSTEM os2v2_dll INITINSTANCE TERMINSTANCE OPTION MANYAUTODATA FIL {$(OBJ)} OPTION IMPF=$(EXPNAME)
|
|
wlib -q -b -n -c -pa -s -t -zld -ii -io -inn $(LIBNAME) +$(DLLNAME)
|
|
|
|
$(LIBSTATIC): $(OBJ)
|
|
wlib -q -b -n -c -pa -s -t -zld -ii -io $@ $(OBJ)
|
|
|
|
$(PLAYER): $(DLLNAME) $(PLAYER_OBJ)
|
|
wlink N $@ SYS OS2V2 OP q LIBR {$(LIBNAME) $(PLAYER_LIBS)} F {$(PLAYER_OBJ)}
|
|
|
|
$(PLAYER_STATIC): $(LIBSTATIC) $(PLAYER_OBJ)
|
|
wlink N $@ SYS OS2V2 OP q LIBR {$(LIBSTATIC) $(PLAYER_LIBS)} F {$(PLAYER_OBJ)}
|
|
|
|
# rules for library objs:
|
|
.c: ../src
|
|
.c.obj:
|
|
wcc386 $(CFLAGS_LIB) $(INCLUDES) -fo=$^@ $<
|
|
# rules for player objs:
|
|
getopt_long.obj: getopt_long.c
|
|
wcc386 $(CFLAGS_EXE) $(INCLUDES) -fo=$^@ $<
|
|
wm_tty.obj: wm_tty.c
|
|
wcc386 $(CFLAGS_EXE) $(INCLUDES) -fo=$^@ $<
|
|
wildmidi.obj: wildmidi.c
|
|
wcc386 $(CFLAGS_EXE) $(INCLUDES) -fo=$^@ $<
|
|
|
|
distclean: clean .symbolic
|
|
rm -f $(DLLNAME) $(EXPNAME) $(LIBNAME) $(LIBSTATIC) $(PLAYER) $(PLAYER_STATIC)
|
|
clean: .symbolic
|
|
rm -f *.obj
|