Blame noconfig/lcc_w32.mak

Packit Service 8bf002
# makefile to compile MCPP version 2.7.1 and later for LCC-Win32 / LCC make
Packit Service 8bf002
#       2008/11 kmatsui
Packit Service 8bf002
# You must first edit BINDIR, INCDIR and LIBDIR  according to your system.
Packit Service 8bf002
# To compile MCPP do:
Packit Service 8bf002
#       make
Packit Service 8bf002
#       make install
Packit Service 8bf002
# To re-compile MCPP using compiled MCPP, edit this makefile and do:
Packit Service 8bf002
#       make
Packit Service 8bf002
#       make install
Packit Service 8bf002
# To link malloc() package of kmatsui, edit this makefile and do:
Packit Service 8bf002
#       make
Packit Service 8bf002
#       make install
Packit Service 8bf002
# To make subroutine-build of MCPP, edit this makefile and do:
Packit Service 8bf002
#       make mcpplib
Packit Service 8bf002
#       make mcpplib_install
Packit Service 8bf002
# To make testmain using libmcpp do:
Packit Service 8bf002
#       make testmain
Packit Service 8bf002
#       make testmain_install
Packit Service 8bf002

Packit Service 8bf002
NAME = mcpp.exe
Packit Service 8bf002
CC = lcc
Packit Service 8bf002
CFLAGS = -A
Packit Service 8bf002
LINKFLAGS = -s -o $(NAME)
Packit Service 8bf002
#BINDIR = \PUBLIC\COMPILERS\LCC\bin
Packit Service 8bf002
	# Adjust for your system
Packit Service 8bf002
BINDIR = \PUBLIC\BIN
Packit Service 8bf002

Packit Service 8bf002
CPPOPTS= -DCOMPILER=LCC
Packit Service 8bf002
	# LCC-specific-build
Packit Service 8bf002

Packit Service 8bf002
# To link kmatsui's malloc()
Packit Service 8bf002
#MEMLIB = kmmalloc_debug.lib
Packit Service 8bf002
#MEM_MACRO = -DKMMALLOC -D_MEM_DEBUG -DXMALLOC
Packit Service 8bf002
# else
Packit Service 8bf002
MEMLIB =
Packit Service 8bf002
MEM_MACRO =
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
$(NAME) : $(OBJS)
Packit Service 8bf002
	lcclnk $(LINKFLAGS) *.obj $(MEMLIB)
Packit Service 8bf002

Packit Service 8bf002
PREPROCESSED = 0
Packit Service 8bf002
CMACRO = $(MEM_MACRO)
Packit Service 8bf002
$(OBJS) : noconfig.H
Packit Service 8bf002
main.obj directive.obj eval.obj expand.obj support.obj system.obj mbchar.obj: \
Packit Service 8bf002
		system.H internal.H
Packit Service 8bf002
# To make MCPP using MCPP itself, comment out the above 5 lines and
Packit Service 8bf002
#		uncomment the next 5 lines.
Packit Service 8bf002
#PREPROCESSED = 1
Packit Service 8bf002
#CMACRO =
Packit Service 8bf002
#mcpp.H : system.H noconfig.H internal.H
Packit Service 8bf002
#	$(BINDIR)\$(NAME) $(CPPOPTS) $(MEM_MACRO) preproc.c mcpp.H
Packit Service 8bf002
#$(OBJS) : mcpp.H
Packit Service 8bf002

Packit Service 8bf002
CPPFLAGS = -DPREPROCESSED=$(PREPROCESSED)
Packit Service 8bf002
.c.obj	:
Packit Service 8bf002
	$(CC) $(CFLAGS) $(CPPFLAGS) $(CPPOPTS) $(CMACRO) $<
Packit Service 8bf002
# To make MCPP using MCPP itself, comment out the above line and
Packit Service 8bf002
#		uncomment the next 2 lines.
Packit Service 8bf002
#	$(BINDIR)\$(NAME) $(CPPFLAGS) $< _$<
Packit Service 8bf002
#	$(CC) $(CFLAGS) $(CMACRO) _$<
Packit Service 8bf002

Packit Service 8bf002
install :
Packit Service 8bf002
	copy $(NAME) $(BINDIR)\$(NAME)
Packit Service 8bf002

Packit Service 8bf002
clean	:
Packit Service 8bf002
	-del *.obj *.exe mcpp.H *.lib *.dll *.exp _*.c
Packit Service 8bf002

Packit Service 8bf002
LIBDIR = \PUBLIC\COMPILERS\LCC\lib
Packit Service 8bf002
INCDIR = \PUBLIC\COMPILERS\LCC\include
Packit Service 8bf002
# For subroutine-build, uncomment the following line.
Packit Service 8bf002
#CFLAGS = -A -DMCPP_LIB=1 -DDLL_EXPORT $(MEM_MACRO)
Packit Service 8bf002
DLL_VER = 0
Packit Service 8bf002

Packit Service 8bf002
mcpplib: mcpplib_lib mcpplib_dll
Packit Service 8bf002

Packit Service 8bf002
mcpplib_lib:	$(OBJS)
Packit Service 8bf002
	# lcclib does not work if the output file already exists.
Packit Service 8bf002
	-del mcpp.lib
Packit Service 8bf002
	lcclib -out:mcpp.lib $(OBJS)
Packit Service 8bf002

Packit Service 8bf002
mcpplib_dll:	$(OBJS)
Packit Service 8bf002
	lcclnk -dll -S $(OBJS) $(MEMLIB) mcpp_lib.def
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) -c main_libmcpp.c
Packit Service 8bf002
	lcclnk -o $(NAME) main_libmcpp.obj mcpp$(DLL_VER).lib
Packit Service 8bf002
	copy $(NAME) $(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)
Packit Service 8bf002
	del $(INCDIR)\mcpp*
Packit Service 8bf002

Packit Service 8bf002
# To use mcpp as a subroutine from testmain.c, uncomment the following lines.
Packit Service 8bf002
# To output to memory buffer, uncomment the next line.
Packit Service 8bf002
#CFLAGS = -A -DOUT2MEM -DDLL_IMPORT
Packit Service 8bf002
#TMAIN_LINKFLAGS = -o testmain.exe testmain.obj mcpp$(DLL_VER).lib $(MEMLIB)
Packit Service 8bf002
#testmain	:	testmain.obj
Packit Service 8bf002
#	lcclnk $(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