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