1#
2# Makefile for wav2cdr  (MS-DOS)
3#
4# Platforms / compilers supported:
5#	MSDOS 6.2, Borland Turbo C 3.1, make/maker 3.6 or 4.0
6#		Note: make 4.0 seems to crash. Use maker 4.0, or make/maker 3.6.
7#
8# Volker Kuhlmann
9#
10
11
12## where executable and man page is installed
13
14
15## where to find chelp.h, vkclib.h
16INCLUDEDIR = ../include
17INCLUDEDIR = .
18
19## which getopt to use and where to find it
20#
21# uncomment this for GNU getopt in the C library:
22#GETOPTFLAGS = -DHAS_GNUGETOPT
23#GETOPTSRCS =
24#
25# uncomment this for GNU getopt, this needs getopt.c, getopt1.c, getopt.h
26# which can be taken from e.g. GNU tar 1.12:
27#GETOPTDIR = .
28#GETOPTDIR = getopt
29#GETOPTFLAGS = -DHAS_GNUGETOPT -I$(GETOPTDIR)
30#GETOPTSRCS = $(GETOPTDIR)/getopt.c $(GETOPTDIR)/getopt1.c
31#
32# uncomment this for the quick and dirty getopt which comes with wav2cdr:
33GETOPTSRCS = mygetopt.c
34
35MYNAME = wav2cdr
36
37
38## CC
39CC	= bcc
40CDEFS	= -DMSDOS_BC
41#CDEFS	= -DMSDOS_BC -DDEBUG
42#CDEFS	= -DMSDOS_BC -DNO_ASSERTMANY
43#CDEFS	= -DMSDOS_BC -DDEBUG -DNO_ASSERTMANY
44CINC	= -I$(INCLUDEDIR)
45CFLAGS	= $(CDEFS) $(CINC) \
46	-3 -a -A -ff- -Ff=32767 -G -k -ml -N -p- -r -u -v -vi- -w -Y- -y
47#CFLAGS	= -DMSDOS_BC -DDEBUG -I$(INCLUDEDIR) -ml -N
48CFLAGS	= $(CDEFS) $(CINC)\
49		-ml -3 -a -f287 -ff- -Ff -A -N -v -y -Oc -Ob -d -vi- -w
50
51## LD
52#LD	= tlink
53#LDFLAGS	= /c /d /l /P- /Tde /v
54#LDFLAGS	= /c /l /x
55#		running tlink manually: must give runtime libs, ...
56LD	= bcc
57LDFLAGS	= -a -ff- -k -mc -N -u -Y- -y
58LDFLAGS = $(CFLAGS)
59#		must at least give -mc - otherwise tlink doesn't hack it!
60
61
62
63HSRCS1 = $(INCLUDEDIR)/chelp.h mygetopt.h
64HSRCS2 = wav2cdr.h
65HSRCS = $(HSRCS1) $(HSRCS2)
66
67CSRCS = wav2cdr.c cmdarg.c data.c fileio.c process.c
68
69MADESRCS = usage.-c help.-c version.-c
70
71OBJS = $(CSRCS:.c=.obj) $(GETOPTSRCS:.c=.obj)
72
73
74
75
76# Implicit Rules
77
78#.c.obj:
79#	$(CC) $(CFLAGS) $(XCFLAGS) /c $&.c
80.c.obj:
81	$(CC) $(CFLAGS) $(XCFLAGS) -c {$< }
82.SUFFIXES:
83.SUFFIXES: .exe .obj .asm .c .res .rc
84
85
86# Explicit Rules and Individual File Dependencies
87
88all: $(MYNAME).exe
89
90build: veryclean all
91
92$(MYNAME).exe: $(OBJS)
93#	$(LD) $(LDFLAGS) $(XLDFLAGS) $(OBJS)
94	echo $(LDFLAGS)+ >bcc.tmp
95!if d$(XLDFLAGS)
96	echo $(XLDFLAGS)+ >>bcc.tmp
97!endif
98	echo $(OBJS) >>bcc.tmp
99	@echo ***** If bcc can't run tlink, try running make with target link
100	$(CC) @bcc.tmp
101
102link:
103# make/maker 3.6 don't interpret $$ correctly, haha...
104	if exist turboc.$$ln tlink @turboc.$$ln
105	if exist turboc.$ln tlink @turboc.$ln
106
107showvar:
108	@echo "CC       =" $(CC)
109	@echo "CFLAGS   =" $(CFLAGS)
110	@echo "CCFLAGS  =" $(CCFLAGS)
111	@echo "XCFLAGS  =" $(XCFLAGS)
112	@echo "XCCFLAGS =" $(XCCFLAGS)
113	@echo "LD       =" $(LD)
114	@echo "LDFLAGS  =" $(LDFLAGS)
115	@echo "XLDFLAGS =" $(XLDFLAGS)
116	@echo "AR       =" $(AR)
117	@echo "ARFLAGS  =" $(ARFLAGS)
118
119clean:
120	del *.obj
121	del bcc.tmp
122
123veryclean vclean: clean
124	del $(MYNAME).exe
125	del $(MYNAME).sym
126	del $(MYNAME).map
127	del tc0000.swp
128	del turboc.$$ln
129	del turboc.$ln
130