1# $Id: ngbc.mak,v 1.5 2001/03/02 08:48:32 amura Exp $
2# Makefile for Ng at Win32 with Borland C++ 5.2/5.5
3#
4# $Log: ngbc.mak,v $
5# Revision 1.5  2001/03/02 08:48:32  amura
6# now AUTOSAVE feature implemented almost all (except for WIN32
7#
8# Revision 1.4  2001/01/17 18:34:53  amura
9# now compile successfull on VC++ and BC++
10#
11# Revision 1.3  2000/11/16 14:21:30  amura
12# merge Ng for win32 0.5
13#
14# Revision 1.2  2000/07/17 14:10:07  amura
15# some typo bug fixed
16#
17# Revision 1.1.1.1  2000/06/27 01:48:00  amura
18# import to CVS
19#
20
21SYS	= win32
22# CDEFS gets defines, and gets passed to lint. CFLAGS gets flags, and doesn't
23# get passed to lint.
24#
25# Now, compile time options are defined in a "config.h".
26#
27INTDIR	= objs
28OUTDIR	= objs
29COPT	= -O -d -f-
30CDEFS	= -DWIN32
31CINCL	= -Isys\$(SYS) -Isys\default
32CMISC	= -n$(INTDIR) -tWM -w-nod -w-use -w-pro -w-rvi -w-par
33CFLAGS	= -c $(CDEFS) $(COPT) $(CINCL) $(CMISC)
34
35## BCC 5.5
36BCPATH  = c:\Borland\bcc55
37CC	= $(BCPATH)\bin\bcc32 -q
38RSC	= $(BCPATH)\bin\brc32 -r -i"$(BCPATH)\include" -dNO_MFC
39LINK	= $(BCPATH)\bin\ilink32 -c -v- -x -Gn -aa -j$(INTDIR)
40LIB = import32.lib cw32.lib
41
42# C Builder 5.2
43#BCPATH  = C:\Program Files\Borland\CBuilder
44#CC	= bcc32
45#RSC	= brcc32 -isys\$(SYS) -i"$(BCPATH)\include" -dNO_MFC
46#LINK	= tlink32 -c -v- -x -aa -Tpe -j$(INTDIR)
47#LIB = import32.lib cw32mt.lib
48
49
50# Objects which only depend on the "standard" includes
51OBJS	= basic.obj dir.obj dired.obj shell.obj version.obj window.obj \
52	  kinsoku.obj jump.obj autosave.obj
53
54# Those with unique requirements
55IND	= buffer.obj complt.obj display.obj cmode.obj echo.obj extend.obj \
56	  file.obj help.obj kbd.obj keymap.obj line.obj macro.obj main.obj \
57	  modes.obj match.obj paragraph.obj random.obj region.obj regex.obj \
58	  re_search.obj search.obj skg.obj kanji.obj undo.obj word.obj
59
60# System dependent objects
61OOBJS = cinfo.obj spawn.obj tty.obj ttykbd.obj
62
63# Win32 additional objects
64WOBJS = tools.obj ttyctrl.obj winmain.obj cefep.obj
65
66OBJ = $(OBJS) $(IND) $(OOBJS) $(WOBJS) fileio.obj ttyio.obj
67
68OSRCS	= cinfo.c fileio.c spawn.c ttyio.c tty.c ttykbd.c
69WSRCS	= tools.c ttyctrl.cpp winmain.c
70SRCS	= basic.c cmode.c dir.c dired.c file.c line.c match.c paragraph.c \
71	  random.c region.c search.c version.c window.c word.c \
72	  buffer.c display.c echo.c extend.c help.c kbd.c keymap.c \
73	  macro.c main.c modes.c regex.c re_search.c kanji.c kinsoku.c \
74	  skg.c jump.c undo.c autosave.c
75
76OINCS =	sys/default/ttydef.h sys/default/chrdef.h sys/$(SYS)/sysdef.h
77INCS =	config.h def.h
78REINCS = regex_e.h regex_j.h regex_j.c regex_e.h kanji_.h kanji_.c
79
80.path.obj=$(INTDIR)
81.path.res=$(INTDIR)
82.path.exe=$(OUTDIR)
83.path.map=$(OUTDIR)
84
85{.}.c {$(INTDIR)}.obj:
86	$(CC) $(CFLAGS) $<
87
88{sys\default}.c {$(INTDIR)}.obj:
89	$(CC) $(CFLAGS) $<
90
91{sys\$(SYS)}.c {$(INTDIR)}.obj:
92	$(CC) $(CFLAGS) $<
93
94{sys\$(SYS)}.cpp {$(INTDIR)}.obj:
95	$(CC) $(CFLAGS) $<
96
97{sys\$(SYS)}.rc {$(INTDIR)}.res:
98	$(RSC) -fo $@ $<
99
100all:	$(INTDIR) ng.exe
101
102ng.exe:	$(OBJ) ng.res
103	$(LINK) c0w32.obj $(OBJ),$(OUTDIR)\ng.exe,,$(LIB),,ng.res
104
105$(OBJS):	$(INCS) $(OINCS)
106
107$(OOBJS):	$(INCS) $(OINCS)
108
109buffer.obj:	$(INCS) $(OINCS) kbd.h undo.h
110
111cmode.obj:	$(INCS) $(OINCS) undo.h
112
113file.obj:	$(INCS) $(OINCS) undo.h
114
115line.obj:	$(INCS) $(OINCS) undo.h
116
117paragraph.obj:	$(INCS) $(OINCS) undo.h
118
119random.obj:	$(INCS) $(OINCS) undo.h
120
121region.obj:	$(INCS) $(OINCS) undo.h
122
123undo.obj:	$(INCS) $(OINCS) undo.h
124
125word.obj:	$(INCS) $(OINCS) undo.h
126
127complt.obj:	$(INCS) $(OINCS) kbd.h complt.h
128
129display.obj:	$(INCS) $(OINCS) kbd.h
130
131keymap.obj:	$(INCS) $(OINCS) kbd.h
132
133modes.obj:	$(INCS) $(OINCS) kbd.h
134
135fileio.obj:	$(INCS) $(OINCS) kbd.h sys/$(SYS)/tools.h sys/$(SYS)/resource.h
136
137echo.obj:	$(INCS) $(OINCS) key.h macro.h complt.h
138
139extend.obj:	$(INCS) $(OINCS) kbd.h key.h macro.h
140
141help.obj:	$(INCS) $(OINCS) kbd.h key.h macro.h
142
143kanji.obj:	$(INCS) $(OINCS) kinit.h
144
145kbd.obj:	$(INCS) $(OINCS) macro.h kbd.h key.h undo.h
146
147macro.obj:	$(INCS) $(OINCS) macro.h key.h
148
149skg.obj:	$(INCS) $(OINCS) macro.h key.h undo.h
150
151main.obj:	$(INCS) $(OINCS) macro.h
152
153search.obj:	$(INCS) $(OINCS) macro.h
154
155match.obj:	$(INCS) $(OINCS) key.h
156
157re_search.obj:	$(INCS) $(OINCS) $(REINCS) macro.h
158
159regex.obj:	$(INCS) $(OINCS) $(REINCS)
160
161jump.obj:	$(INCS) $(OINCS) regex_e.h regex_j.h
162
163ttyio.obj:	$(INCS) $(OINCS) sys/$(SYS)/tools.h sys/$(SYS)/winmain.h
164
165tools.obj:	$(INCS) $(OINCS) sys/$(SYS)/tools.h
166
167tty.obj:	$(INCS) $(OINCS) sys/$(SYS)/tools.h sys/$(SYS)/winmain.h
168
169ttyctrl.obj:	$(INCS) $(OINCS) \
170		sys/$(SYS)/tools.h sys/$(SYS)/ttyctrl.h \
171		sys/$(SYS)/cefep.h sys/$(SYS)/resource.h
172
173spawn.obj:	$(INCS) $(OINCS) sys/$(SYS)/tools.h
174
175winmain.obj:	$(INCS) $(OINCS) \
176		sys/$(SYS)/tools.h sys/$(SYS)/ttyctrl.h \
177		sys/$(SYS)/winmain.h sys/$(SYS)/resource.h sys/$(SYS)/cefep.h
178
179cefep.obj:	$(INCS) $(OINCS) sys/$(SYS)/cefep.h
180
181ng.res:		sys/$(SYS)/resource.h sys/$(SYS)/appicon.ico \
182		sys/$(SYS)/rebar.bmp sys/$(SYS)/buttons.bmp
183
184$(INTDIR):
185	@if not exist $(INTDIR) mkdir $(INTDIR)
186
187#clean:
188#	del $(OBJ) $(OSRCS) $(OINCS)
189clean:
190	-if exist ng.tds del ng.tds
191	-if exist $(INTDIR) del /f/q $(INTDIR)
192	-if exist $(INTDIR) rmdir $(INTDIR)
193