File: Makefile

package info (click to toggle)
mixal 1.08-5
  • links: PTS
  • area: main
  • in suites: potato
  • size: 208 kB
  • ctags: 296
  • sloc: ansic: 1,597; makefile: 87; sh: 12; awk: 10
file content (57 lines) | stat: -rw-r--r-- 1,816 bytes parent folder | download
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
# UNIX makefile for the MIX interpreter

# Must be changed in the spec file as well.
V=1.08

CFLAGS = -g

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 = READ.ME NOTES
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

clean:
	rm -f *.o mixal ops.inc mnemonic mixal.shar core.mix *.tar.gz *.rpm *~

dist: mixal-$(V).tar.gz

mixal-$(V).tar.gz: $(DISTRIBUTION)
	@ls $(DISTRIBUTION) | sed "s:^:mixal-$(V)/:" >MANIFEST
	@(cd ..; ln -s mixal mixal-$(V))
	(cd ..; tar -czvf mixal/mixal-$(V).tar.gz `cat mixal/MANIFEST`)
	@(cd ..; rm mixal-$(V))

RPMROOT=/usr/src/redhat
RPM = rpm
RPMFLAGS = -ba
rpm: dist
	cp mixal-$(V).tar.gz $(RPMROOT)/SOURCES;
	cp mixal.spec $(RPMROOT)/SPECS
	cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) mixal.spec	
	cp $(RPMROOT)/RPMS/`arch|sed 's/i[4-9]86/i386/'`/mixal-$(V)*.rpm .
	cp $(RPMROOT)/SRPMS/mixal-$(V)*.src.rpm .

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