-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmakefile
49 lines (36 loc) · 1.03 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
TARGET = sndlib
BUILD = dos
SYSTEM = dos32a
DEBUG = dwarf all
DLEVEL = 0
SYSDEF = DOS
INCLUDE = .\include
AS = nasm.exe
CC = wpp386.exe
LD = wlink.exe
AFLAGS = -f win32
CFLAGS = -5r -zp16 -onhasbmi -s -zv -d$(DLEVEL) -d_$(SYSDEF) -i=$(INCLUDE) -bt=$(BUILD)
LFLAGS =
# add object files here
OBJS = sndlib.obj convert.obj dma.obj dpmi.obj tinypci.obj irq.obj logerror.obj sndmisc.obj
OBJS = $(OBJS) snddev.obj devgus.obj devsb.obj devwss.obj devpas.obj devhda.obj devhonk.obj devhonka.obj devds1.obj
OBJLIST = $(OBJS)
OBJSTR = file {$(OBJLIST)}
all: $(TARGET).lib .symbolic
$(TARGET).lib : $(OBJS) .symbolic
%create $(TARGET).ls
for %i in ($(OBJS)) do @%append $(TARGET).ls +%i
wlib -n $(TARGET).lib
wlib $(TARGET).lib @$(TARGET).ls
del $(TARGET).ls
# custom rule to enable "option eliminate"
dpmi.obj:
$(CC) dpmi.cpp $(CFLAGS) -zm
dma.obj:
$(CC) dma.cpp $(CFLAGS) -zm
tinypci.obj:
$(CC) tinypci.cpp $(CFLAGS) -zm
.cpp.obj:
$(CC) $< $(CFLAGS)
.asm.obj:
$(AS) $< $(AFLAGS)