|
Packit Service |
8bf002 |
# makefile to compile MCPP version 2.7.1 and later for Borland C / BC make
|
|
Packit Service |
8bf002 |
# 2008/11 kmatsui
|
|
Packit Service |
8bf002 |
# You must first edit BINDIR, INCDIR, LIBDIR and LINKER according to your
|
|
Packit Service |
8bf002 |
# system.
|
|
Packit Service |
8bf002 |
# To make compiler-independent-build of MCPP do:
|
|
Packit Service |
8bf002 |
# make
|
|
Packit Service |
8bf002 |
# make install
|
|
Packit Service |
8bf002 |
# To make Borland-C-specific-build of MCPP do:
|
|
Packit Service |
8bf002 |
# make -DCOMPILER=BORLANDC
|
|
Packit Service |
8bf002 |
# make -DCOMPILER=BORLANDC install
|
|
Packit Service |
8bf002 |
# To re-compile MCPP using Borland-C-specific-build of MCPP do:
|
|
Packit Service |
8bf002 |
# make -DCOMPILER=BORLANDC -DPREPROCESSED
|
|
Packit Service |
8bf002 |
# make -DCOMPILER=BORLANDC -DPREPROCESSED install
|
|
Packit Service |
8bf002 |
# To link kmmalloc V.2.5.1 (malloc() package of kmatsui) or later do:
|
|
Packit Service |
8bf002 |
# make [-DPREPROCESSED] -DKMMALLOC
|
|
Packit Service |
8bf002 |
# make [-DPREPROCESSED] -DKMMALLOC install
|
|
Packit Service |
8bf002 |
# To make mcpp.lib (subroutine-build of mcpp) do:
|
|
Packit Service |
8bf002 |
# make -DMCPP_LIB mcpplib
|
|
Packit Service |
8bf002 |
# make -DMCPP_LIB mcpplib_install
|
|
Packit Service |
8bf002 |
# To make testmain.c (sample to use mcpp.lib) against mcpp.lib do
|
|
Packit Service |
8bf002 |
# (add '-DDLL_IMPORT' to link against the DLL):
|
|
Packit Service |
8bf002 |
# make [-DOUT2MEM] testmain
|
|
Packit Service |
8bf002 |
# make [-DOUT2MEM] testmain_install
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
NAME = mcpp
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
CC = bcc32
|
|
Packit Service |
8bf002 |
CFLAGS = $(CFLAGS) -c -a -d -f- -G -5 -DWIN32
|
|
Packit Service |
8bf002 |
# -DWIN32 is nessecary to compile with bcc32
|
|
Packit Service |
8bf002 |
LINKFLAGS = -e$(NAME)
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
!if $d( COMPILER)
|
|
Packit Service |
8bf002 |
CPPFLAGS = -DCOMPILER=BORLANDC
|
|
Packit Service |
8bf002 |
# BINDIR : Adjust to your system.
|
|
Packit Service |
8bf002 |
# for Borland C V.5.5
|
|
Packit Service |
8bf002 |
CFLAGS = $(CFLAGS) -Oi
|
|
Packit Service |
8bf002 |
BINDIR = \PUB\COMPILERS\BCC55\BIN
|
|
Packit Service |
8bf002 |
!else
|
|
Packit Service |
8bf002 |
BINDIR = \PUB\BIN
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
!if $d( KMMALLOC)
|
|
Packit Service |
8bf002 |
MEM_MACRO = -DKMMALLOC=1 -D_MEM_DEBUG=1 -DXMALLOC=1
|
|
Packit Service |
8bf002 |
MEMLIB = kmmalloc_debug32.lib
|
|
Packit Service |
8bf002 |
!else
|
|
Packit Service |
8bf002 |
MEM_MACRO =
|
|
Packit Service |
8bf002 |
MEM_LIB =
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
OBJS = main.obj directive.obj eval.obj expand.obj support.obj system.obj \
|
|
Packit Service |
8bf002 |
mbchar.obj
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
all: $(NAME).exe
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
$(NAME).exe : $(OBJS)
|
|
Packit Service |
8bf002 |
$(CC) $(LINKFLAGS) $(OBJS) $(MEMLIB)
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
!if $d( PREPROCESSED)
|
|
Packit Service |
8bf002 |
# Make a "pre-preprocessed" header file to recompile MCPP with MCPP.
|
|
Packit Service |
8bf002 |
mcpp.H : system.H noconfig.H internal.H
|
|
Packit Service |
8bf002 |
$(BINDIR)\$(NAME) $(CPPFLAGS) $(MEM_MACRO) preproc.c mcpp.H
|
|
Packit Service |
8bf002 |
$(OBJS) : mcpp.H
|
|
Packit Service |
8bf002 |
!else
|
|
Packit Service |
8bf002 |
main.obj directive.obj eval.obj expand.obj support.obj system.obj mbchar.obj: \
|
|
Packit Service |
8bf002 |
system.H internal.H noconfig.H
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
!if $d( PREPROCESSED)
|
|
Packit Service |
8bf002 |
.c.obj :
|
|
Packit Service |
8bf002 |
$(BINDIR)\$(NAME) -DPREPROCESSED=1 $(CPPFLAGS) $< $(
|
|
Packit Service |
8bf002 |
$(CC) $(CFLAGS) $(
|
|
Packit Service |
8bf002 |
!else
|
|
Packit Service |
8bf002 |
.c.obj :
|
|
Packit Service |
8bf002 |
$(CC) $(CFLAGS) $(CPPFLAGS) $(MEM_MACRO) $<
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
install :
|
|
Packit Service |
8bf002 |
copy /b $(NAME).exe $(BINDIR)\$(NAME).exe
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
clean :
|
|
Packit Service |
8bf002 |
-del *.obj *.exe *.bak mcpp.H *.i *.tds *.lib *.dll mcpp$(DLL_VER).* *.so
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
!if $d( MCPP_LIB)
|
|
Packit Service |
8bf002 |
# subroutine-build
|
|
Packit Service |
8bf002 |
CFLAGS = $(CFLAGS) -DMCPP_LIB=1
|
|
Packit Service |
8bf002 |
LIBDIR = \PUB\COMPILERS\BCC55\LIB
|
|
Packit Service |
8bf002 |
INCDIR = \PUB\COMPILERS\BCC55\INCLUDE
|
|
Packit Service |
8bf002 |
LINKER = ilink32
|
|
Packit Service |
8bf002 |
ADD_OBJS = +main +directive +eval +expand +support +system +mbchar
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
mcpplib: mcpplib_lib mcpplib_dll
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
mcpplib_lib: $(OBJS)
|
|
Packit Service |
8bf002 |
tlib mcpp.lib $(ADD_OBJS)
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
# DLL
|
|
Packit Service |
8bf002 |
DLL_VER = 0
|
|
Packit Service |
8bf002 |
SOBJS = main.so directive.so eval.so expand.so support.so system.so mbchar.so
|
|
Packit Service |
8bf002 |
.SUFFIXES: .so
|
|
Packit Service |
8bf002 |
.c.so :
|
|
Packit Service |
8bf002 |
$(CC) $(CFLAGS) $(MEM_MACRO) -DDLL_EXPORT=1 -o$*.so $<
|
|
Packit Service |
8bf002 |
mcpplib_dll: $(SOBJS)
|
|
Packit Service |
8bf002 |
$(LINKER) -Tpd c0d32.obj $(SOBJS), mcpp$(DLL_VER).dll, , \
|
|
Packit Service |
8bf002 |
cw32.lib import32.lib $(MEMLIB)
|
|
Packit Service |
8bf002 |
implib mcpp$(DLL_VER).lib mcpp$(DLL_VER).dll
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
mcpplib_install:
|
|
Packit Service |
8bf002 |
copy mcpp.lib $(LIBDIR)
|
|
Packit Service |
8bf002 |
copy mcpp$(DLL_VER).lib $(LIBDIR)
|
|
Packit Service |
8bf002 |
copy mcpp$(DLL_VER).dll $(BINDIR)
|
|
Packit Service |
8bf002 |
copy mcpp_lib.h $(INCDIR)
|
|
Packit Service |
8bf002 |
copy mcpp_out.h $(INCDIR)
|
|
Packit Service |
8bf002 |
$(CC) -e$(NAME).exe main_libmcpp.c mcpp$(DLL_VER).lib
|
|
Packit Service |
8bf002 |
copy $(NAME).exe $(BINDIR)
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
mcpplib_uninstall:
|
|
Packit Service |
8bf002 |
del $(LIBDIR)\mcpp.lib $(LIBDIR)\mcpp$(DLL_VER).lib \
|
|
Packit Service |
8bf002 |
$(BINDIR)\mcpp$(DLL_VER).dll
|
|
Packit Service |
8bf002 |
del $(BINDIR)\$(NAME).exe
|
|
Packit Service |
8bf002 |
del $(INCDIR)\mcpp*
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
# use mcpp as a subroutine from testmain.c
|
|
Packit Service |
8bf002 |
!if $d( DLL_IMPORT)
|
|
Packit Service |
8bf002 |
CFLAGS = $(CFLAGS) -DDLL_IMPORT=1
|
|
Packit Service |
8bf002 |
LINKLIB = mcpp$(DLL_VER).lib
|
|
Packit Service |
8bf002 |
!else
|
|
Packit Service |
8bf002 |
LINKLIB = mcpp.lib
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
!if $d( OUT2MEM)
|
|
Packit Service |
8bf002 |
# output to memory buffer
|
|
Packit Service |
8bf002 |
CFLAGS = $(CFLAGS) -DOUT2MEM=1
|
|
Packit Service |
8bf002 |
!endif
|
|
Packit Service |
8bf002 |
TMAIN_LINKFLAGS = testmain.obj -etestmain.exe $(LINKLIB)
|
|
Packit Service |
8bf002 |
testmain : testmain.obj
|
|
Packit Service |
8bf002 |
$(CC) $(TMAIN_LINKFLAGS)
|
|
Packit Service |
8bf002 |
testmain_install :
|
|
Packit Service |
8bf002 |
copy testmain.exe $(BINDIR)
|
|
Packit Service |
8bf002 |
testmain_uninstall :
|
|
Packit Service |
8bf002 |
del $(BINDIR)\testmain.exe
|