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