-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile.os2
59 lines (45 loc) · 1.75 KB
/
Makefile.os2
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
50
51
52
53
54
55
56
57
58
59
# Makefile for OS/2 using Watcom compiler.
#
# wmake -f Makefile.os2
# - builds libxmp.dll and its import lib (libxmp.lib)
#
# wmake -f Makefile.os2 target=static
# - builds the static library xmp_static.lib
!ifndef target
target = dll
!endif
CC = wcc386
CFLAGS = -zq -bt=os2 -bm -fp5 -fpi87 -mf -oeatxh -w4 -ei -zp8
# -5s : Pentium stack calling conventions.
# -5r : Pentium register calling conventions.
CFLAGS += -5s
CFLAGS += -DHAVE_ALLOCA_H -DHAVE_FNMATCH -DHAVE_MKSTEMP -DHAVE_UMASK -DLIBXMP_CORE_PLAYER
#CFLAGS += -DDEBUG
CFLAGS += -I"src/os2" -I"include/libxmp-lite" -Isrc
DLLFLAGS=-bd
DLLNAME=libxmp.dll
EXPNAME=libxmp.exp
LIBNAME=libxmp.lib
LIBSTATIC=xmp_static.lib
!ifeq target static
BLD_TARGET=$(LIBSTATIC)
!else
CFLAGS+= $(DLLFLAGS)
BLD_TARGET=$(DLLNAME)
!endif
OBJ=src/virtual.obj src/format.obj src/period.obj src/player.obj src/read_event.obj src/dataio.obj src/lfo.obj src/scan.obj src/control.obj src/filter.obj src/effects.obj src/mixer.obj src/mix_all.obj src/load_helpers.obj src/load.obj src/hio.obj src/smix.obj src/memio.obj src/win32.obj src/loaders/common.obj src/loaders/itsex.obj src/loaders/sample.obj src/loaders/xm_load.obj src/loaders/mod_load.obj src/loaders/s3m_load.obj src/loaders/it_load.obj
#.SUFFIXES: .obj .c
.c: src;src/loaders
.c.obj:
$(CC) $(CFLAGS) -fo=$^@ $<
all: $(BLD_TARGET)
# rely on symbol name, not ordinal: -irn switch of wlib is default, but -inn is not.
$(DLLNAME): $(OBJ)
wlink NAM $@ SYSTEM os2v2_dll INITINSTANCE TERMINSTANCE 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)
clean: .symbolic
rm -f $(OBJ)
distclean: clean .symbolic
rm -f $(DLLNAME) $(EXPNAME) $(LIBNAME) $(LIBSTATIC)