summaryrefslogtreecommitdiff
path: root/Makefile
blob: 265aec0d81d3d96dd471613ee7b684ca1dde0101 (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
102
103
104
105
106
107
108
109
110
111
112
##########################################################################
#                                                                        #
#   Makefile für das mega-geniale Game-Exec-Betriebssystem von CHW :-)   #
#                                                                        #
#   Created: 18-May-89 CHW                  Last update: 23-Feb-91 CHW   #
#                                                                        #
##########################################################################


CC	= SC
CFLAGS	=

ASM	= Genam
AFLAGS	= -l -iINCLUDE: -eDEBUG=1

LD	= Slink
LFLAGS	= ADDSYM NOICONS



.c.o:
	$(CC) $(CFLAGS) $*.c

.S.or:
	-@Delete $@
	$(ASM) $(AFLAGS) $*.S -o$*.or -eRAMVERSION=1

.S.os:
	-@Delete $@
	$(ASM) $(AFLAGS) $*.S -o$*.os -eSYSTEM=1

.S.o:
	-@Delete $@
	$(ASM) $(AFLAGS) $*.S -o$*.o -eDISKVERSION=1



DISKMODS =	Exec.o  Memory.o  LoadSeg.o  Keyboard.o  CDisk.o  FileIO.o  RAMLib.o\
 PPDecrunch.o  RawDoFmt.o  DrawBob.o  Rnd.o  FFS.o  EndLabel.o

RAMMODS  =	Exec.or Memory.or LoadSeg.or Keyboard.or CDisk.or FileIO.or RAMLib.or\
 PPDecrunch.or RawDoFmt.or DrawBob.or Rnd.or FFS.or EndLabel.or

SYSMODS  =	Exec.os Memory.os LoadSeg.os Keyboard.os SysCDisk.os FileIO.os RAMLib.os\
 PPDecrunch.os RawDoFmt.os DrawBob.os Rnd.os CDTV.os EndLabel.os



All:		Track0 Start SysStart FinalBooter

$(RAMMODS):	myexec.i
$(DISKMODS):	myexec.i
$(SYSMODS):	myexec.i
DrawBob.o:	DrawBob.i


RAMExec.S:	$(RAMMODS)
		-@Delete $@
		$(LD) $(LFLAGS) FROM $(RAMMODS) TO T:__exectmp LIB LIB:small.lib
		AbsLoad >NIL: -a0 -o T:__exectmp2 T:__exectmp
		HexDump -L -X _ExecModuleStart -Y _ExecModuleEnd -O$@ T:__exectmp2
		@Delete T:__exectmp T:__exectmp2

Track0:		$(DISKMODS)
		-@Delete $@
		$(LD) $(LFLAGS) FROM $(DISKMODS) TO T:__exectmp LIB LIB:small.lib
		AbsLoad >NIL: -a0 -o T:__exectmp2 T:__exectmp
		Join BootBlock T:__exectmp2 as Track0
		@Delete T:__exectmp T:__exectmp2 QUIET

Start:		start.o vbr.o rawdofmt.o ramexec.o
		-@Delete $@
		$(LD) $(LFLAGS) FROM CCLIB:argsstartup20.o start.o vbr.o rawdofmt.o ramexec.o TO $* \
 LIB CCLIB:ch.lib LIB:sc.lib LIB:small.lib

SysStart:	sysstart.o $(SYSMODS)
		-@Delete $@
		$(LD) $(LFLAGS) FROM CCLIB:argsstartup20.o Sysstart.o $(SYSMODS) TO $* \
 LIB CCLIB:ch.lib LIB:sc.lib LIB:small.lib

FinalBooter:	FinalBooter.o
		-@Delete $@
		$(LD) $(LFLAGS) FROM cclib:TinyStartup.o $*.o TO T:__exectmp LIB cclib:ch.lib LIB:small.lib
		AbsLoad -©cb -o$@ T:__exectmp
		@Delete T:__exectmp

Disk-Validator:	FinalBooter.S
		-@Delete $@
		$(ASM) FinalBooter.S -o$@ -eBCPL=1


clean:
		Delete *.o *.os *.or Track0 Start SysStart FinalBooter Disk-Validator ramexec.s


install:
		Copy MyExec.i DrawBob.i INCUSR: CLONE
		Copy Start C+:Proprietary/ CLONE
		Copy SysStart C+:Proprietary/ CLONE


dist:		Start Track0
		-@Delete Exec.LHA
		@lha -x -a a Exec.LHA Start Track0 MyExec.i DrawBob.i
		@lha -x -a v Exec.LHA

srcdist:	Start BootBlock CDisk.o CDisk.r
		-@Delete ExecSource.LHA
		@lha -x -a a ExecSource.LHA *.S *.c
		@lha -x -a d ExecSource.LHA ramexec.s
		@lha -x -a a ExecSource.LHA BootBlock CDisk.o CDisk.r *.i Makefile
		@lha -x -a v ExecSource.LHA