-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
58 lines (44 loc) · 1.79 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
50
51
52
53
54
55
56
57
58
# UNIX makefile for the MIX interpreter
# Must be changed in the spec file as well.
VERS=$(shell sed <mixal.spec -n -e '/Version: \(.*\)/s//\1/p')
CC = cc
CFLAGS = -Wall -O2
CSRCS = asm.c cell.c charset.c driver.c io.c main.c parse.c run.c symbol.c
HSRCS = asm.h cell.h charset.h driver.h io.h mix.h parse.h run.h symbol.h
SOURCES = Makefile opcodes op2c.awk $(CSRCS) $(HSRCS)
DOCS = README NOTES MIX.DOC mixal.xml mixal.1
TEST = elevator.mix prime.mix mystery.mix prime.out mystery.out mixtest ops.inc
MISC = mixal.spec
DOSFILES = makefile.dos test.bat
DISTRIBUTION = $(SOURCES) $(DOCS) $(TEST) $(MISC) $(DOSFILES)
OBJS = asm.o cell.o charset.o driver.o io.o main.o parse.o run.o symbol.o
mixal: $(OBJS)
$(CC) $(OBJS) -o mixal
mixal.1: mixal.xml
xmlto man mixal.xml
mixal.html: mixal.xml
xmlto html-nochunks mixal.xml
clean:
rm -f *.o mixal ops.inc mnemonic mixal.shar core.mix *.tar.gz *.rpm *~
rm -f *.1 MANIFEST SHIPPER.*
dist: mixal-$(VERS).tar.gz
mixal-$(VERS).tar.gz: $(DISTRIBUTION)
@ls $(DISTRIBUTION) | sed "s:^:mixal-$(VERS)/:" >MANIFEST
@(cd ..; ln -s mixal mixal-$(VERS))
(cd ..; tar -czf mixal/mixal-$(VERS).tar.gz `cat mixal/MANIFEST`)
@(cd ..; rm mixal-$(VERS))
shar:
shar $(DISTRIBUTION) >mixal.shar
ops.inc: opcodes
sort <opcodes | awk -f op2c.awk >ops.inc
asm.o: asm.c mix.h cell.h asm.h run.h
cell.o: cell.c mix.h cell.h
symbol.o: symbol.c mix.h cell.h asm.h symbol.h
charset.o: charset.c mix.h cell.h charset.h
driver.o: driver.c mix.h cell.h asm.h driver.h parse.h symbol.h ops.inc
main.o: main.c mix.h cell.h asm.h driver.h parse.h run.h symbol.h
parse.o: parse.c mix.h cell.h asm.h charset.h parse.h symbol.h
run.o: run.c mix.h cell.h asm.h charset.h io.h run.h
io.o: io.c mix.h cell.h charset.h io.h run.h
release: mixal-$(VERS).tar.gz mixal.html
shipper -u -m -t; make clean