1481da1e5432841feac20c809372dfab44d762c0
[rrq/maintain_lilo.git] / dos / Makefile
1 # -*- makefile -*-
2 # Makefile for BCC compilation of 'lilo.com'
3 #
4 # Known to work with BCC version 0.16.15
5 # Known not to work with BCC version 0.16.10
6
7 # adding variables
8 include ../make.vars
9
10 MODEL=d
11 CC = bcc -M$(MODEL)
12 CPP = gcc -E
13 CINCL = /usr/lib/bcc/include
14 AS = as86
15 LINK = $(CC) -v
16 COPT = -ansi -I.. -I$(CINCL) -c -O $(CFLAGS)
17 LOPT = -m >$*.map -M -d
18 AOPT = -0 -a -w
19 CFLAGS = -DLCF_IGNORECASE -DLCF_DSECS=3 -DLCF_PASS160
20
21 .SUFFIXES:      .com .S
22
23 HFILES = ../src/lilo.h ../src/bitmap.h ../src/cfg.h ../src/config.h ../src/common.h ../src/map.h ../src/temp.h ../src/version.h
24
25 .c.o:
26         $(CC) $(COPT) -o $@ ../$*.c
27
28 .o.com:
29         $(LINK) $(LOPT) -o $@ $^
30
31 .s.o:
32         $(AS) $(AOPT) -l $*.lis -o $@ $<
33
34
35
36
37 all:    check lilo.com
38
39 alles:  all
40         cp -ufv lilo.com lilo.map /dosC/boot
41
42 check:
43         @echo $(CFLAGS)
44         @if [ -x /usr/bin/bcc -o -x /usr/local/bin/bcc ]; then echo Okay; \
45         else echo; echo "You don't seem to have the 'bcc' compiler from the 'dev86' package."; \
46                 echo; exit 1; fi
47
48 lilo:
49         make -e CFLAGS="$(PCONFIG)" lilo.com
50
51 lilo.com:       lilo.o common.o cfg.o map.o   # cprintf.o
52
53 lilo.o:         ../src/lilo.c $(HFILES)
54         $(CC) $(COPT) -o $@  ../src/$*.c
55
56 cfg.o:          ../src/cfg.c $(HFILES)
57         $(CC) $(COPT) -o $@  ../src/$*.c
58
59 common.o:       ../src/common.c $(HFILES)
60         $(CC) $(COPT) -o $@  ../src/$*.c
61
62 cprintf.o:      ../src/cprintf.c $(HFILES)
63         $(CC) $(COPT) -o $@  ../src/$*.c
64
65 map.o:          ../src/map.c $(HFILES)
66         $(CC) $(COPT) -o $@  ../src/$*.c
67
68
69 install:
70         if [ -d $$DESTDIR$(DOS_DIR) -a -f lilo.com ]; then \
71           cp lilo.com $$DESTDIR$(DOS_DIR); fi
72
73 tidy:
74         rm -f *.map *.lis core
75
76 clean:  tidy
77         rm -f *.o *.s *.img *.b *.com *.gz
78
79 distclean:  clean
80         rm -f *~ *.c *.h
81