summaryrefslogtreecommitdiff
path: root/Source/Makefile
blob: 43feda1498189d4d61ab0fed4f04c6ab0b8dab68 (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
##
##	$Id: Makefile,v 21.2 92/05/17 03:09:18 chris Exp $
##	$Revision: 21.2 $
##
##	$Filename: Makefile $
##	$Author: chris $
##	$Release: 19.1 $
##	$Date: 92/05/17 03:09:18 $
##
##	Makefile to build iff.library and utilities
##
##	COPYRIGHT (C) 1987-1992 BY CHRISTIAN A. WEBER, BRUGGERWEG 2,
##	CH-8037 ZUERICH, SWITZERLAND.  ALL RIGHTS RESERVED.  NO PART
##	OF THIS SOFTWARE MAY BE COPIED, REPRODUCED,  OR  TRANSMITTED
##	IN ANY FORM OR BY ANY MEANS,  WITHOUT THE PRIOR WRITTEN PER-
##	MISSION OF THE AUTHOR. USE AT YOUR OWN RISK.
##

LIBDEST		= SYS:Libs-User/

AUTODOC		= DH0:Devel/Milano/Disk3/Debug/Devel/autodoc
AUTODOCFLAGS	= -a -C -I 

#############################################################################
##	Allgemeine Flags

CFLAGS	= -cfustq -fid -ms -v -rr -s -O
AFLAGS	= -l -iINCLUDE: 
LFLAGS	= ADDSYM

# -b0 = Nicht a4-relativ
# -cf = prototypes testen
# -cr = Register-Parameter mit prototypes
# -cs = Gleiche Strings nur einmal nehmen
# -ct = Warnung bei undef'd structure tags
# -cu = Alle chars sind unsigned
# -d2 = voll debug info, DEBUG-Symbol wird definiert
# -ff = FFP
# -fi = IEEEDoubBas
# -f8 = 68881 direkt
# -fd = alle floats sind double
# -m0 = 68000er Code
# -m2 = 68020er Code
# -ms = Code reducing optimization
# -mt = Time reducing optimization
# -O  = Optimizer on
# -rr = Argument passing immer in Registers
# -s  = Section names angeben (text/data/udata)
# -v  = Stack checking ausschalten
# -w  = 16 Bit ints


#############################################################################
##	Regeln

.s.o:
	Genam $(AFLAGS) $*.S

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


#############################################################################
##	Kommandozeilen-Argumente für Make

ALL:	INCUSR:libraries/iff.h INCUSR:libraries/iff.i /iff.library /iff.lib FD:iff_lib.fd
#ALL:	INCUSR:libraries/iff.h INCUSR:libraries/iff.i /iff.library /iffpp.library
DOC:	/ifflib.doc


#############################################################################
##	Header- und fd files

INCUSR:libraries/iff.h:		iff.h
				Copy iff.h INCUSR:libraries/

INCUSR:libraries/iff.i:		iff.i
				Copy iff.i INCUSR:libraries/

FD:iff_lib.fd:			/iff_lib.fd
				Copy /iff_lib.fd FD:


#############################################################################
##	iff.library

IFFLIB_SRC =	ifflib.S openiff.S closeiff.S findchunk.S getbmhd.S\
 getcolortab.S decodepic.S savebitmap.S saveclip.S ifferror.S\
 getviewmodes.S modifyframe.S\
 PushChunk.S PopChunk.S WriteChunkBytes.S CompressBlock.S DecompressBlock.S

IFFLIB_MODS =	ifflib.o openiff.o closeiff.o findchunk.o getbmhd.o\
 getcolortab.o decodepic.o savebitmap.o saveclip.o ifferror.o\
 getviewmodes.o modifyframe.o\
 pushchunk.o popchunk.o writechunkbytes.o compressblock.o decompressblock.o

$(IFFLIB_MODS):	IFFLib.i INCUSR:libraries/iff.i

/iff.library:	$(IFFLIB_MODS)
		BLINK FROM $(IFFLIB_MODS) TO T:___iff LIB /iff.lib LIB:small.lib
		@AbsLoad >NIL: -©o/iff.library T:___iff
		@Delete T:___iff
		@Protect /iff.library rwd
		FlushLibs
		@FlushLibs
		Copy /iff.library $(LIBDEST)

#		@/iff.library


#############################################################################
##	iffpp.library

IFFPPLIB_MODS =	$(IFFLIB_MODS) ppopeniff.o ppopeniffc.o

/iffpp.library:	$(IFFPPLIB_MODS)
		BLINK FROM $(IFFPPLIB_MODS) TO T:___iff LIB LIB:small.lib
		@AbsLoad >NIL: -©o/iffpp.library T:___iff
		@Delete T:___iff
		@Protect /iffpp.library rwd
		FlushLibs
		@FlushLibs

#		@Echo "Copying library to $(LIBDEST)"
#		@Copy /iffpp.library $(LIBDEST)
#		@/iffpp.library

ppopeniffc.o:	ppopeniffc.c
		lc -v -b0 -O $*.c


#############################################################################
##	iff.lib (Link library)

/iff.lib:	IFF.S
		Genim2 $(AFLAGS) -o/iff.lib IFF.S

#############################################################################
##	Autodocs (ifflib.doc) und ifflib.guide

/ifflib.doc:	$(IFFLIB_SRC)
		$(AUTODOC) $(AUTODOCFLAGS) $(IFFLIB_SRC) >/ifflib.doc
		$(AUTODOC) $(AUTODOCFLAGS) -i $(IFFLIB_SRC) >/ifflib_internal.doc
		@Delete /*.hyper /*.hyper.info
		ad2ht / /
		@Rename /ifflib /ifflib.hyper
		@Rename /ifflib.info /ifflib.hyper.info
		@Rename /ifflib_internal /ifflib_internal.hyper
		@Rename /ifflib_internal.info /ifflib_internal.hyper.info

#############################################################################