1# $Id: Makefile.SAS6,v 1.2 2000/10/02 13:59:28 amura Exp $
2# Makefile for MicroEMACS. using SAS/C 6.0
3#
4# $Log: Makefile.SAS6,v $
5# Revision 1.2  2000/10/02 13:59:28  amura
6# edit for new ttymenu.c
7#
8# Revision 1.1.1.1  2000/06/27 01:48:01  amura
9# import to CVS
10#
11# Modified for Ng 1.4 AmigaDOS version by amura Mar.17.2000
12# Modified for Ng 1.3 AmigaDOS version by H.Konishi Sep.4,1993
13# Modified for Ng 1.3 AmigaDOS version by H.Ohkubo Dec.20,1992
14
15SYS = amiga
16S = sys/amiga
17
18# If defined USE_ARP, set LIBS -la -lc.
19#LIBS = -lc
20#LIBS = -la -lc
21 LIBS = lib:sc.lib+lib:amiga.lib
22#LIBS = +l rexxglue.o rexxvars.o +l -lc
23
24# Now, compile-time options (PREFS) are defined in config.h.
25# XOBJ is used to denote any extra object files needed for these
26# options.  MENUOBJ and MOUSEOBJ denote the extra object files
27# needed for the menu, mouse and Browser.
28
29MOUSEOBJ = ttymouse.o
30MENUOBJ  = ttymenu.o
31OFFSETOBJ = offset.o
32ICONIFYOBJ = iconify.o ttyicon.o
33#REXXOBJ = rexx.o
34REXXOBJ =
35CLIPOBJ = clipboard.o
36
37#PREFS =
38XOBJ  = $(MOUSEOBJ) $(MENUOBJ) $(ICONIFYOBJ) $(OFFSETOBJ) $(CLIPOBJ) $(REXXOBJ)
39
40CFLAGS = -I$(S) -Isys/default -DAMIGA -DMANX -wos -su
41
42# Objects which only depend on the "standard" includes
43OBJS	= basic.o dir.o dired.o shell.o version.o window.o \
44	  kinsoku.o jump.o
45
46# Those with unique requirements
47IND	= buffer.o complt.o display.o cmode.o echo.o extend.o file.o \
48	  help.o kbd.o keymap.o line.o macro.o main.o match.o modes.o \
49	  paragraph.o random.o region.o regex.o re_search.o search.o \
50	  skg.o kanji.o undo.o word.o
51
52# System dependent objects
53OOBJS = cinfo.o spawn.o ttyio.o tty.o ttykbd.o fileio.o sleep.o \
54 sysinit.o console.o dirio.o
55
56OBJ = $(OBJS) $(IND) $(OOBJS) $(XOBJ) $(ALLOCA) zz_pointer.o
57
58OSRCS = cinfo.c fileio.c spawn.c ttyio.c tty.c ttykbd.c fileio.c sleep.c \
59   sysinit.c malloc.c console.c dirio.c
60SRCS = basic.c dir.c dired.c file.c line.c match.c paragraph.c \
61   random.c region.c search.c version.c window.c word.c \
62   buffer.c display.c echo.c extend.c help.c kbd.c keymap.c \
63   macro.c main.c modes.c regex.c re_search.c \
64   cmode.c shell.c kinsoku.c complt.c kanji.c skg.c jump.c undo.c
65
66OINCS = $(S)/ttydef.h $(S)/sysdef.h sys/default/chrdef.h
67INCS = def.h config.h
68REINCS = regex_e.h regex_j.h regex_j.c regex_e.h kanji_.h kanji_.c
69
70#PROG = mg
71PROG = ng
72
73#
74# The editor
75# Building in Ram: saves a LOT of time in pass 2 of the linker.
76#
77$(PROG):		$(OBJ)
78		ln -o ram:$(PROG) -w $(OBJ) $(LIBS)
79		copy ram:$(PROG) $(PROG)
80		delete ram:$(PROG)
81
82$(OBJ):		$(INCS) $(OINCS)
83
84buffer.o: 	$(INCS) $(OINCS) kbd.h undo.h
85
86cmode.o file.o line.o paragraph.o random.o region.o undo.o word.o: \
87		$(INCS) $(OINCS) undo.h
88
89complt.o:	$(INCS) $(OINCS) kbd.h complt.h
90
91display.o modes.o: \
92		$(INCS) $(OINCS) kbd.h
93
94echo.o:		$(INCS) $(OINCS) key.h macro.h complt.h
95
96extend.o help.o: \
97		$(INCS) $(OINCS) kbd.h macro.h key.h
98
99kanji.o:	$(INCS) $(OINCS) kinit.h
100
101kbd.o:		$(INCS) $(OINCS) kbd.h macro.h key.h undo.h
102
103macro.o: 	$(INCS) $(OINCS) macro.h key.h
104
105main.o search.o: \
106		$(INCS) $(OINCS) macro.h
107
108match.o:	$(INCS) $(OINCS) key.h
109
110re_search.o:	$(INCS) $(OINCS) $(REINCS) macro.h
111
112regex.o:	$(INCS) $(OINCS) $(REINCS)
113
114skg.o: 		$(INCS) $(OINCS) macro.h key.h undo.h
115
116$(OOBJS):	$(INCS) $(OINCS)
117
118clean:
119	Delete $(OBJ)
120
121
122keymap.o:	keymap.c $(S)/amiga_maps.c kbd.h
123		sc $(CFLAGS) keymap.c
124
125fileio.o:	$(S)/fileio.c $(S)/zz_pointer.h kbd.h
126		sc $(CFLAGS) -o fileio.o $(S)/fileio.c
127
128spawn.o:	$(S)/spawn.c
129		sc $(CFLAGS) -o spawn.o $(S)/spawn.c
130
131sleep.o:	$(S)/sleep.c
132		sc $(CFLAGS) -o sleep.o $(S)/sleep.c
133
134sysinit.o:	$(S)/sysinit.c $(S)/zz_pointer.h
135		sc $(CFLAGS) -o sysinit.o $(S)/sysinit.c
136
137#malloc.o:	$(S)/malloc.c
138#		sc $(CFLAGS) -o malloc.o $(S)/malloc.c
139
140offset.o:	$(S)/offset.c
141		sc $(CFLAGS) -o offset.o $(S)/offset.c
142
143iconify.o:	$(S)/iconify/iconify.c $(S)/iconify.h
144		sc $(CFLAGS) -o iconify.o $(S)/iconify/iconify.c
145
146tty.o:		$(S)/tty.c
147		sc $(CFLAGS) -o tty.o $(S)/tty.c
148
149ttyicon.o:	$(S)/ttyicon.c $(S)/iconify.h
150		sc $(CFLAGS) -I$(S)/iconify -o ttyicon.o $(S)/ttyicon.c
151
152ttyio.o:	$(S)/ttyio.c
153		sc $(CFLAGS) -o ttyio.o $(S)/ttyio.c
154
155ttykbd.o:	$(S)/ttykbd.c kbd.h
156		sc $(CFLAGS) -o ttykbd.o $(S)/ttykbd.c
157
158ttymenu.o:	$(S)/ttymenu.c macro.h $(S)/KgMenus.h $(S)/KgMenus.c $(S)/menumap.h
159		sc $(CFLAGS) -o ttymenu.o $(S)/ttymenu.c
160
161ttymouse.o:	$(S)/ttymouse.c macro.h
162		sc $(CFLAGS) -o ttymouse.o $(S)/ttymouse.c
163
164#menustack.o:	$(S)/menustack.c
165#		sc $(CFLAGS) -o menustack.o $(S)/menustack.c
166
167console.o:	$(S)/console.c
168		sc $(CFLAGS) -o console.o $(S)/console.c
169
170dirio.o:	$(S)/dirio.c
171		sc $(CFLAGS) -o dirio.o $(S)/dirio.c
172
173alloca.o:	$(S)/alloca.asm
174		asm -oalloca.o $(S)/alloca.asm
175
176cinfo.o:	sys/default/cinfo.c
177		sc $(CFLAGS) -o cinfo.o sys/default/cinfo.c
178
179#rexx.o:		$(S)/rexx.c
180#		sc $(CFLAGS) -o rexx.o $(S)/rexx.c
181
182zz_pointer.o:	$(S)/zz_pointer.c $(S)/zz_pointer.h
183		sc $(CFLAGS) -o zz_pointer.o $(S)/zz_pointer.c
184
185clipboard.o: $(S)/clipboard.c
186		sc $(CFLAGS) -o clipboard.o $(S)/clipboard.c
187