1CC = gcc
2
3# Development
4#CFLAGS = -O3 -c -Wall -Wextra -fstack-protector-all -D_FORTIFY_SOURCE=2
5
6# Production
7CFLAGS = -O3 -c -Wall -Wextra -U_FORTIFY_SOURCE
8
9LFLAGS =
10
11OBJ =	sim0.o \
12	sim1.o \
13	sim1a.o \
14	sim2.o \
15	sim3.o \
16	sim4.o \
17	sim5.o \
18	sim6.o \
19	sim7.o \
20	simctl.o \
21	disas.o	\
22	simint.o \
23	memory.o \
24	iosim.o	\
25	simfun.o \
26	simglb.o \
27	simbdos.o \
28	config.o \
29	unix_terminal.o \
30	mostek-cpu.o \
31	mostek-fdc.o
32
33../sim : $(OBJ)
34	$(CC) $(OBJ) $(LFLAGS) -o ../sim
35
36sim0.c:
37	./lnsrc
38
39sim0.o : sim0.c	sim.h simglb.h config.h memory.h
40	$(CC) $(CFLAGS) sim0.c
41
42sim1.o : sim1.c	sim.h simglb.h config.h memory.h
43	$(CC) $(CFLAGS) sim1.c
44
45sim1a.o : sim1a.c sim.h simglb.h config.h memory.h
46	$(CC) $(CFLAGS) sim1a.c
47
48sim2.o : sim2.c	sim.h simglb.h config.h memory.h
49	$(CC) $(CFLAGS) sim2.c
50
51sim3.o : sim3.c	sim.h simglb.h config.h memory.h
52	$(CC) $(CFLAGS) sim3.c
53
54sim4.o : sim4.c	sim.h simglb.h config.h memory.h
55	$(CC) $(CFLAGS) sim4.c
56
57sim5.o : sim5.c	sim.h simglb.h config.h memory.h
58	$(CC) $(CFLAGS) sim5.c
59
60sim6.o : sim6.c	sim.h simglb.h config.h memory.h
61	$(CC) $(CFLAGS) sim6.c
62
63sim7.o : sim7.c	sim.h simglb.h config.h memory.h
64	$(CC) $(CFLAGS) sim7.c
65
66simctl.o : simctl.c sim.h simglb.h memory.h ../../iodevices/mostek-fdc.h ../../iodevices/unix_terminal.h
67	$(CC) $(CFLAGS) simctl.c
68
69disas.o	: disas.c
70	$(CC) $(CFLAGS) disas.c
71
72simint.o : simint.c sim.h simglb.h
73	$(CC) $(CFLAGS) simint.c
74
75memory.o : memory.c sim.h
76	$(CC) $(CFLAGS) memory.c
77
78iosim.o	: iosim.c sim.h	simglb.h simbdos.h ../../iodevices/mostek-cpu.h ../../iodevices/mostek-fdc.h
79	$(CC) $(CFLAGS) iosim.c
80
81simfun.o : simfun.c sim.h
82	$(CC) $(CFLAGS) simfun.c
83
84simglb.o : simglb.c sim.h
85	$(CC) $(CFLAGS) simglb.c
86
87simbdos.o : simbdos.c sim.h simglb.h memory.h
88	$(CC) $(CFLAGS) simbdos.c
89
90config.o : config.c simglb.h sim.h
91	$(CC) $(CFLAGS) config.c
92
93unix_terminal.o : ../../iodevices/unix_terminal.c
94	$(CC) $(CFLAGS) ../../iodevices/unix_terminal.c
95
96mostek-cpu.o: ../../iodevices/mostek-cpu.c ../../iodevices/unix_terminal.h sim.h simglb.h
97	$(CC) $(CFLAGS) -I./ ../../iodevices/mostek-cpu.c
98
99mostek-fdc.o: ../../iodevices/mostek-fdc.c sim.h simglb.h
100	$(CC) $(CFLAGS) -I./ ../../iodevices/mostek-fdc.c
101
102clean:
103	rm -f *.o
104	./ulnsrc
105
106allclean:
107	make clean
108	rm -f ../sim
109