summaryrefslogtreecommitdiff
path: root/Makefile
blob: 98cca2de075a518a8189bf3e0c74767c7233da48 (plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101

export TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)

include Make.defs

PARTS=    ld as unproto bcc
TESTDIRS= tests
EXTRAS=   libbsd dis88
DISTFILES=Makefile Make.defs README Changes README.ash Libc_version make_bcc.bat
DISTDIRS= elksemu $(TESTDIRS) $(EXTRAS)

default: dummy
	@echo You have to do make install as root
	@echo Or:
	@echo
	@echo 'make bcc'
	@echo 'su -c "make install-bcc"'
	@echo 'make library'
	@echo 'su -c "make install-lib"'
	@echo 'make elksemu'
	@echo 'su -c "make install-emu"'
	@echo 'make tests'
	@echo
	@echo
	@echo 'Use "make extras" or "make install-extras" for other pieces'

dummy:
	@if [ -f .runme ] ; then sh .runme ; rm .runme ; fi

install: install-bcc install-lib install-emu tests

bcc: dummy
	@for i in $(PARTS) ; do make -C $$i || exit 1; done

realclean: clean

clean: clean_rest
	make -C libc realclean

clean_rest: dummy
	@for i in $(PARTS) ; do make -C $$i clean || exit 1; done
	@for i in $(DISTDIRS) ; do make -C $$i clean || exit 1; done

tests: dummy
	@test -f $(BINDIR)/bcc || \
	( echo 'Must do "make install-bcc" first' && exit 1 )
	@test -f $(LIBDIR)/i86/crt0.o || \
	( echo 'Must do "make install-lib" first' && exit 1 )
	@for i in $(TESTDIRS) ; do make -C $$i || exit 1; done

library: dummy
	@test -f $(BINDIR)/bcc || \
	( echo 'Must do "make install-bcc" first' && exit 1 )
	make -C libc

elksemu: dummy
	@test -f libc/syscall/call_tab.v || \
	( echo 'Must do "make library" first' && exit 1 )
	make -C elksemu

extras: dummy
	@for i in $(EXTRAS) ; do make -C $$i || exit 1; done
	
install-bcc: dummy
	@for i in $(PARTS) ; do make -C $$i install || exit 1; done

install-lib: dummy
	@test -f $(BINDIR)/bcc || \
	( echo 'Must do "make install-bcc" first' && exit 1 )
	make -C libc install

install-lib2: dummy
	@test -f $(BINDIR)/bcc || \
	( echo 'Must do "make install-bcc" first' && exit 1 )
	make -s -C libc clean
	make -s -C libc PLATFORM=i86-FAST install
	make -s -C libc clean
	make -s -C libc PLATFORM=i86-DOS install
	make -s -C libc clean

install-emu: dummy
	@test -f libc/syscall/call_tab.v || \
	( echo 'Must do "make library" first' && exit 1 )
	make -C elksemu install

install-extras: dummy
	@for i in $(EXTRAS) ; do make -C $$i install || exit 1; done
	
distribution: clean_rest
	make -C libc dist_ver
	tar  cf /tmp/Development.tar $(DISTFILES) $(PARTS) $(DISTDIRS)
	rm -rf /tmp/linux-86
	mkdir /tmp/linux-86
	ln -s `pwd`/libc-8086-`cat Libc_version`.tar.gz /tmp/libc-8086.tgz
	cd /tmp/linux-86 ; tar xzf ../libc-8086.tgz ; rm ../libc-8086.tgz
	mv /tmp/linux-86/libc-`cat Libc_version` /tmp/linux-86/libc
	cd /tmp/linux-86 ; tar xf ../Development.tar ; rm ../Development.tar
	cd /tmp; tar czf Development.tar.gz linux-86 ; rm -rf linux-86
	mv /tmp/Development.tar.gz /tmp/Dev86-`cat Libc_version`.tar.gz
	rm -rf libc-`cat Libc_version` Libc_version