mirror of https://github.com/FDOS/kernel.git
Added compiler specific makefiles
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@319 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
e092c873fa
commit
a904ce9dc3
|
@ -0,0 +1,53 @@
|
|||
#
|
||||
# BC5.MAK - kernel copiler options for Borland C++
|
||||
#
|
||||
|
||||
# Use these for Borland C++
|
||||
|
||||
COMPILERPATH=$(BC5_BASE)
|
||||
COMPILERBIN=$(COMPILERPATH)\bin
|
||||
CC=$(COMPILERBIN)\tcc
|
||||
CFLAGST=-mt -lt -a- -k- -f- -ff- -O -Z -d
|
||||
CFLAGSC=-a- -mc
|
||||
INCLUDEPATH=$(COMPILERPATH)\include
|
||||
LIBUTIL=$(COMPILERBIN)\tlib
|
||||
LIBPATH=$(COMPILERPATH)\lib
|
||||
LIBTERM=
|
||||
LIBPLUS=+
|
||||
|
||||
TARGET=KBC
|
||||
|
||||
# used for building the library
|
||||
|
||||
CLIB=$(COMPILERPATH)\lib\cs.lib
|
||||
MATH_EXTRACT=*H_LDIV *H_LLSH *H_LURSH *N_LXMUL *F_LXMUL *H_LRSH
|
||||
MATH_INSERT=+H_LDIV +H_LLSH +H_LURSH +N_LXMUL +F_LXMUL +H_LRSH
|
||||
|
||||
#
|
||||
# heavy stuff - building the kernel
|
||||
# Compiler and Options for Borland C++
|
||||
# ------------------------------------
|
||||
#
|
||||
# -zAname ¦ ¦ Code class
|
||||
# -zBname ¦ ¦ BSS class
|
||||
# -zCname ¦ ¦ Code segment
|
||||
# -zDname ¦ ¦ BSS segment
|
||||
# -zEname ¦ ¦ Far segment
|
||||
# -zFname ¦ ¦ Far class
|
||||
# -zGname ¦ ¦ BSS group
|
||||
# -zHname ¦ ¦ Far group
|
||||
# -zPname ¦ ¦ Code group
|
||||
# -zRname ¦ ¦ Data segment
|
||||
# -zSname ¦ ¦ Data group
|
||||
# -zTname ¦ ¦ Data class
|
||||
# -zX ¦«¦ Use default name for "X"
|
||||
|
||||
#
|
||||
# ALLCFLAGS specified by turbo.cfg and config.mak
|
||||
#
|
||||
ALLCFLAGS = $(TARGETOPT) $(ALLCFLAGS)
|
||||
INITCFLAGS = $(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPIGROUP -zBIB -zGIGROUP -zSIGROUP
|
||||
CFLAGS = $(ALLCFLAGS) -zAHMA -zCHMA_TEXT
|
||||
DYNCFLAGS = $(ALLCFLAGS) -zRDYN_DATA -zTDYN_DATA -zDDYN_DATA -zBDYN_DATA
|
||||
IPRFCFLAGS = $(INITCFLAGS) -oiprf.obj
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
#**********************************************************************
|
||||
#* TARGET : we create a %TARGET%.sys file
|
||||
#* TARGETOPT : options, handled down to the compiler
|
||||
#**********************************************************************
|
||||
|
||||
TARGETOPT=-1-
|
||||
|
||||
!if $(XCPU)+1 != 1
|
||||
!if $(XCPU) == 186
|
||||
TARGETOPT=-1
|
||||
!endif
|
||||
!if $(XCPU) == 386
|
||||
TARGETOPT=-3
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if $(XFAT)+1 != 1
|
||||
!if $(XFAT) == 32
|
||||
ALLCFLAGS=$(ALLCFLAGS) -DWITHFAT32
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if $(XCPU) == 386
|
||||
NASMFLAGS = $(NASMFLAGS) -i../hdr/ -DI386
|
||||
!else
|
||||
NASMFLAGS = $(NASMFLAGS) -i../hdr/
|
||||
!endif
|
||||
|
||||
PATCHOBJ=@rem
|
||||
INITPATCH = CODE=INIT _DATA=IDATA DATA=ID BSS=ID DGROUP=IGROUP CONST=IC
|
||||
STDPATCH = CODE=HMA CONST=DCONST
|
||||
DYNPATCH = _DATA=DYN_DATA DATA=DYN_DATA CODE=HMA CONST=DCONST
|
||||
|
||||
!include "..\mkfiles\$(COMPILER).mak"
|
||||
|
||||
THETARGET=$(TARGET)$(XCPU)$(XFAT)
|
||||
# These are generic definitions
|
||||
RM=-del
|
||||
|
||||
.asm.obj :
|
||||
$(NASM) $(NASMFLAGS) -f obj $*.asm
|
||||
|
||||
# *Implicit Rules*
|
||||
.c.obj :
|
||||
$(CC) $(CFLAGS) -c $*.c
|
||||
|
||||
.cpp.obj :
|
||||
$(CC) $(CFLAGS) -c $*.cpp
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
#
|
||||
# MSCL8.MAK - kernel copiler options for MS CL8 = MSVC1.52
|
||||
#
|
||||
|
||||
# Use these for MSCV 1.52
|
||||
COMPILERPATH=$(MS_BASE)
|
||||
COMPILERBIN=$(COMPILERPATH)\bin
|
||||
INCLUDEPATH=$(COMPILERPATH)\include
|
||||
CC=$(COMPILERBIN)\cl
|
||||
CFLAGST = /Fm /AS /Os ????
|
||||
CFLAGSC=-a- -mc ????
|
||||
LIBUTIL=$(COMPILERBIN)\lib /nologo
|
||||
LIBPATH=$(COMPILERPATH)\lib
|
||||
LIBUTIL=$(COMPILERBIN)\lib /nologo
|
||||
LIBTERM=;
|
||||
|
||||
|
||||
# used for building the library
|
||||
|
||||
CLIB=$(COMPILERPATH)\lib\slibce.lib
|
||||
MATH_EXTRACT=*aflmul *aFlshl *aFNauldi *aFulrem *aFulshr *aFuldiv *aFlrem *aFldiv
|
||||
MATH_INSERT= +aflmul +aFlshl +aFNauldi +aFulrem +aFulshr +aFuldiv +aFlrem +aFldiv
|
||||
|
||||
!if $(XCPU) == 186
|
||||
TARGETOPT=-G1
|
||||
!end
|
||||
!if $(XCPU) == 386
|
||||
TARGETOPT=-G3
|
||||
!end
|
||||
|
||||
TARGET=KMS
|
||||
|
||||
#
|
||||
# heavy stuff - building
|
||||
|
||||
|
||||
ALLCFLAGS = -I..\hdr $(TARGETOPT) $(ALLCFLAGS) -nologo -c -Zl -Fc -Zp1 -Gs -Os -WX
|
||||
INITCFLAGS = $(ALLCFLAGS) -NTINIT_TEXT -AT
|
||||
CFLAGS = $(ALLCFLAGS) -NTHMA_TEXT
|
||||
DYNCFLAGS = $(ALLCFLAGS) -NTHMA_TEXT
|
||||
IPRFCFLAGS = $(INITCFLAGS) -Foiprf.obj
|
||||
PATCHOBJ = patchobj
|
|
@ -0,0 +1,56 @@
|
|||
#
|
||||
# TURBOC.MAK - kernel copiler options for TURBOC
|
||||
#
|
||||
|
||||
# Use these for Turbo C 2.01
|
||||
|
||||
COMPILERPATH=$(TC2_BASE)
|
||||
COMPILERBIN=$(COMPILERPATH)
|
||||
CC=$(COMPILERBIN)\tcc
|
||||
CFLAGST=-mt -lt -a- -k- -f- -ff- -O -Z -d
|
||||
CFLAGSC=-a- -mc
|
||||
INCLUDEPATH=$(COMPILERPATH)\include
|
||||
LIBUTIL=$(COMPILERBIN)\tlib
|
||||
LIBPATH=$(COMPILERPATH)\lib
|
||||
LIBTERM=
|
||||
LIBPLUS=+
|
||||
|
||||
TARGET=KTC
|
||||
|
||||
# used for building the library
|
||||
|
||||
CLIB=$(COMPILERPATH)\lib\cs.lib
|
||||
MATH_EXTRACT=*LDIV *LXMUL *LURSH *LLSH *LRSH
|
||||
MATH_INSERT=+LDIV +LXMUL +LURSH +LLSH +LRSH
|
||||
|
||||
#
|
||||
# heavy stuff - building the kernel
|
||||
# Compiler and Options for Borland C++
|
||||
# ------------------------------------
|
||||
#
|
||||
# -zAname ¦ ¦ Code class
|
||||
# -zBname ¦ ¦ BSS class
|
||||
# -zCname ¦ ¦ Code segment
|
||||
# -zDname ¦ ¦ BSS segment
|
||||
# -zEname ¦ ¦ Far segment
|
||||
# -zFname ¦ ¦ Far class
|
||||
# -zGname ¦ ¦ BSS group
|
||||
# -zHname ¦ ¦ Far group
|
||||
# -zPname ¦ ¦ Code group
|
||||
# -zRname ¦ ¦ Data segment
|
||||
# -zSname ¦ ¦ Data group
|
||||
# -zTname ¦ ¦ Data class
|
||||
# -zX ¦«¦ Use default name for "X"
|
||||
|
||||
#
|
||||
# ALLCFLAGS specified by turbo.cfg and config.mak
|
||||
#
|
||||
ALLCFLAGS = $(TARGETOPT) $(ALLCFLAGS)
|
||||
INITCFLAGS = $(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPIGROUP -zBIB -zGIGROUP -zSIGROUP
|
||||
CFLAGS = $(ALLCFLAGS) -zAHMA -zCHMA_TEXT
|
||||
DYNCFLAGS = $(ALLCFLAGS) -zRDYN_DATA -zTDYN_DATA -zDDYN_DATA -zBDYN_DATA
|
||||
IPRFCFLAGS = $(INITCFLAGS) -oiprf.obj
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
#
|
||||
# TC3.MAK - kernel copiler options for Turbo C 3.0
|
||||
#
|
||||
|
||||
# Use these for Turbo C 3.0
|
||||
|
||||
COMPILERPATH=$(TC3_BASE)
|
||||
COMPILERBIN=$(COMPILERPATH)\bin
|
||||
CC=$(COMPILERBIN)\tcc
|
||||
CFLAGST=-mt -lt -a- -k- -f- -ff- -O -Z -d
|
||||
CFLAGSC=-a- -mc
|
||||
INCLUDEPATH=$(COMPILERPATH)\include
|
||||
LIBUTIL=$(COMPILERBIN)\tlib
|
||||
LIBPATH=$(COMPILERPATH)\lib
|
||||
LIBTERM=
|
||||
LIBPLUS=+
|
||||
|
||||
TARGET=KT3
|
||||
|
||||
# used for building the library
|
||||
|
||||
CLIB=$(COMPILERPATH)\lib\cs.lib
|
||||
MATH_EXTRACT=*H_LDIV *H_LLSH *H_LURSH *N_LXMUL *F_LXMUL *H_LRSH
|
||||
MATH_INSERT=+H_LDIV +H_LLSH +H_LURSH +N_LXMUL +F_LXMUL +H_LRSH
|
||||
|
||||
#
|
||||
# heavy stuff - building the kernel
|
||||
# Compiler and Options for Borland C++
|
||||
# ------------------------------------
|
||||
#
|
||||
# -zAname ¦ ¦ Code class
|
||||
# -zBname ¦ ¦ BSS class
|
||||
# -zCname ¦ ¦ Code segment
|
||||
# -zDname ¦ ¦ BSS segment
|
||||
# -zEname ¦ ¦ Far segment
|
||||
# -zFname ¦ ¦ Far class
|
||||
# -zGname ¦ ¦ BSS group
|
||||
# -zHname ¦ ¦ Far group
|
||||
# -zPname ¦ ¦ Code group
|
||||
# -zRname ¦ ¦ Data segment
|
||||
# -zSname ¦ ¦ Data group
|
||||
# -zTname ¦ ¦ Data class
|
||||
# -zX ¦«¦ Use default name for "X"
|
||||
|
||||
#
|
||||
# ALLCFLAGS specified by turbo.cfg and config.mak
|
||||
#
|
||||
ALLCFLAGS = $(TARGETOPT) $(ALLCFLAGS)
|
||||
INITCFLAGS = $(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPIGROUP -zBIB -zGIGROUP -zSIGROUP
|
||||
CFLAGS = $(ALLCFLAGS) -zAHMA -zCHMA_TEXT
|
||||
DYNCFLAGS = $(ALLCFLAGS) -zRDYN_DATA -zTDYN_DATA -zDDYN_DATA -zBDYN_DATA
|
||||
IPRFCFLAGS = $(INITCFLAGS) -oiprf.obj
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
#
|
||||
# TURBOCPP.MAK - kernel copiler options for TCPP 1.01
|
||||
#
|
||||
|
||||
# Use these for Turbo CPP 1.01
|
||||
|
||||
COMPILERPATH=$(TP1_BASE)
|
||||
COMPILERBIN=$(COMPILERPATH)\bin
|
||||
CC=$(COMPILERBIN)\tcc
|
||||
CFLAGST=-mt -lt -a- -k- -f- -ff- -O -Z -d
|
||||
CFLAGSC=-a- -mc
|
||||
INCLUDEPATH=$(COMPILERPATH)\include
|
||||
LIBUTIL=$(COMPILERBIN)\tlib
|
||||
LIBPATH=$(COMPILERPATH)\lib
|
||||
LIBTERM=
|
||||
LIBPLUS=+
|
||||
|
||||
TARGET=KTP
|
||||
|
||||
# used for building the library
|
||||
|
||||
CLIB=$(COMPILERPATH)\lib\cs.lib
|
||||
MATH_EXTRACT=*H_LDIV *F_LXMUL *H_LURSH *H_LLSH *H_LRSH
|
||||
MATH_INSERT=+H_LDIV +F_LXMUL +H_LURSH +H_LLSH +H_LRSH
|
||||
|
||||
#
|
||||
# heavy stuff - building the kernel
|
||||
# Compiler and Options for Borland C++
|
||||
# ------------------------------------
|
||||
#
|
||||
# -zAname ¦ ¦ Code class
|
||||
# -zBname ¦ ¦ BSS class
|
||||
# -zCname ¦ ¦ Code segment
|
||||
# -zDname ¦ ¦ BSS segment
|
||||
# -zEname ¦ ¦ Far segment
|
||||
# -zFname ¦ ¦ Far class
|
||||
# -zGname ¦ ¦ BSS group
|
||||
# -zHname ¦ ¦ Far group
|
||||
# -zPname ¦ ¦ Code group
|
||||
# -zRname ¦ ¦ Data segment
|
||||
# -zSname ¦ ¦ Data group
|
||||
# -zTname ¦ ¦ Data class
|
||||
# -zX ¦«¦ Use default name for "X"
|
||||
|
||||
#
|
||||
# ALLCFLAGS specified by turbo.cfg and config.mak
|
||||
#
|
||||
ALLCFLAGS = $(TARGETOPT) $(ALLCFLAGS)
|
||||
INITCFLAGS = $(ALLCFLAGS) -zAINIT -zCINIT_TEXT -zDIB -zRID -zTID -zPIGROUP -zBIB -zGIGROUP -zSIGROUP
|
||||
CFLAGS = $(ALLCFLAGS) -zAHMA -zCHMA_TEXT
|
||||
DYNCFLAGS = $(ALLCFLAGS) -zRDYN_DATA -zTDYN_DATA -zDDYN_DATA -zBDYN_DATA
|
||||
IPRFCFLAGS = $(INITCFLAGS) -oiprf.obj
|
|
@ -0,0 +1,80 @@
|
|||
#
|
||||
# WATCOM.MAK - kernel copiler options for MS CL8 = MSVC1.52
|
||||
#
|
||||
|
||||
# Use these for WATCOM 11.0c
|
||||
COMPILERPATH=$(WC_BASE)
|
||||
COMPILERBIN=$(WC_BASE)\binw
|
||||
CC=$(COMPILERBIN)\wcl
|
||||
CFLAGST=-mt
|
||||
CFLAGSC=-mc
|
||||
INCLUDEPATH=$(COMPILERPATH)\H
|
||||
WATCOM=$(COMPILERPATH)
|
||||
PATH=$(COMPILERPATH)\binnt;$(COMPILERPATH)\binw
|
||||
INCLUDE=$(COMPILERPATH)\h
|
||||
EDPATH=$(COMPILERPATH)\EDDAT
|
||||
|
||||
!if $(XCPU) != 186
|
||||
!if $(XCPU) != 386
|
||||
TARGETOPT=-0
|
||||
!endif
|
||||
!endif
|
||||
|
||||
TARGET=KWC
|
||||
|
||||
LINKTERM=;
|
||||
|
||||
LIBPATH=$(COMPILERPATH)\lib
|
||||
LIBUTIL=$(COMPILERBIN)\wlib
|
||||
LIBPLUS=
|
||||
LIBTERM=
|
||||
|
||||
# used for building the library
|
||||
|
||||
CLIB=$(COMPILERPATH)\lib286\dos\clibs.lib
|
||||
|
||||
#
|
||||
#MATH_EXTRACT=*i4d *i4m
|
||||
#MATH_INSERT= +i4d +i4m
|
||||
#
|
||||
# these are NOT usable, as they are called NEAR, and are in TEXT segment.
|
||||
# so we can't use them, when moving the kernel. called ~15 times
|
||||
#
|
||||
# so I include 1 dummy library routine (stridup()), to make lib happy
|
||||
#
|
||||
|
||||
MATH_EXTRACT=*_icstrdu
|
||||
MATH_INSERT= +_icstrdu
|
||||
MATH_EXTRACT=*i4d *i4m
|
||||
MATH_INSERT= +i4d +i4m
|
||||
|
||||
|
||||
#
|
||||
# heavy stuff - building
|
||||
#
|
||||
# -e=<num> set limit on number of error messages
|
||||
# -ms small memory model (small code/small data)
|
||||
# -j change char default from unsigned to signed
|
||||
#-nc=<id> set code class name
|
||||
#-nd=<id> set data segment name
|
||||
#-nm=<file> set module name
|
||||
#-nt=<id> set name of text segment
|
||||
# -g=<id> set code group name
|
||||
# -os -> favor code size over execution time in optimizations
|
||||
# -s remove stack overflow checks
|
||||
# -w=<num> set warning level number
|
||||
# -we treat all warnings as errors
|
||||
# -ze enable extensions (i.e., near, far, export, etc.)
|
||||
# -zl remove default library information
|
||||
# -zp=<num> pack structure members with alignment {1,2,4,8,16}
|
||||
# -zq operate quietly
|
||||
#
|
||||
# -3 optimization for 386 - given in CONFIG.MAK, not here
|
||||
#
|
||||
|
||||
ALLCFLAGS = $(TARGETOPT) $(ALLCFLAGS) -c -zq -os -ms -s -e=5 -j -zl -zp=1
|
||||
INITCFLAGS = $(ALLCFLAGS) -nt=INIT_TEXT -nc=INIT -g=IGROUP
|
||||
CFLAGS = $(ALLCFLAGS) -nt=HMA_TEXT -nc=HMA -g=HGROUP
|
||||
DYNCFLAGS = $(ALLCFLAGS)
|
||||
IPRFCFLAGS = $(INITCFLAGS) -Foiprf.obj
|
||||
|
Loading…
Reference in New Issue