mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 02:52:24 +00:00
separated Kernel, Files. Texts modules for bootstrapping and general use
Former-commit-id: e1f76da278
This commit is contained in:
parent
5d683e6727
commit
66c583b70e
41 changed files with 3229 additions and 327 deletions
|
|
@ -8,10 +8,8 @@ RELEASE = 1.0
|
|||
|
||||
|
||||
INCLUDEPATH = -Isrc/lib/system/$(TOS)/$(CCOMP)/$(TARCH)
|
||||
#ADDITIONALFLAGS = "-Wno-implicit-function-declaration -Wno-pointer-sign -Wno-implicit-int -Wno-logical-op-parentheses"
|
||||
ADDITIONALFLAGS = ""
|
||||
|
||||
SETPATH = CFLAGS="$(ADDITIONALFLAGS) $(INCLUDEPATH)" PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system/$(TOS)/$(CCOMP):src/lib/system/$(TOS)/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(TOS)/$(CCOMP):src/lib/ooc:src/lib/ooc/$(TOS)/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(TOS)/$(CCOMP):src/voc/$(TOS)/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
|
||||
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system/$(TOS)/$(CCOMP):src/lib/system/$(TOS)/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(TOS)/$(CCOMP):src/lib/ooc:src/lib/ooc/$(TOS)/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(TOS)/$(CCOMP):src/voc/$(TOS)/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
|
||||
|
||||
VOC = voc
|
||||
VERSION = $(TOS).$(CCOMP).$(TARCH)
|
||||
|
|
@ -22,18 +20,15 @@ LIBNAME = VishapOberon
|
|||
LIBRARY = lib$(LIBNAME)
|
||||
|
||||
ifndef PRF
|
||||
#PRF = "/opt"
|
||||
PRF = "/Users/noch/local/voc"
|
||||
PRF = "/opt"
|
||||
endif
|
||||
PREFIX = $(PRF)/voc-$(RELEASE)
|
||||
PREFIXLN = $(PRF)/voc
|
||||
|
||||
|
||||
CCOPT = -fPIC $(ADDITIONALFLAGS) $(INCLUDEPATH) -g
|
||||
CCOPT = -fPIC $(INCLUDEPATH) -g
|
||||
|
||||
CC = cc $(CCOPT) -c
|
||||
CL = cc $(CCOPT)
|
||||
#LD = cc -shared -o $(LIBRARY).so
|
||||
LD = cc -dynamiclib -o $(LIBRARY).dylib
|
||||
# s is necessary to create index inside a archive
|
||||
ARCHIVE = ar rcs $(LIBRARY).a
|
||||
|
|
@ -83,10 +78,9 @@ stage3:
|
|||
$(VOCSTATIC0) -sPS Args.Mod Console.Mod Unix.Mod
|
||||
sed -i.tmp "s#/opt#$(PRF)#g" src/voc/prf.Mod
|
||||
$(VOCSTATIC0) -sPS prf.Mod
|
||||
$(VOCSTATIC0) -sPS oocOakStrings.Mod architecture.Mod version.Mod Kernel.Mod Modules.Mod
|
||||
$(VOCSTATIC0) -sxPS Files.Mod
|
||||
$(VOCSTATIC0) -sxPS OakFiles.Mod
|
||||
$(VOCSTATIC0) -sPS Reals.Mod CmdlnTexts.Mod errors.Mod
|
||||
$(VOCSTATIC0) -sPS oocOakStrings.Mod architecture.Mod version.Mod Kernel0.Mod Modules.Mod
|
||||
$(VOCSTATIC0) -sxPS Files0.Mod
|
||||
$(VOCSTATIC0) -sPS Reals.Mod Texts0.Mod errors.Mod
|
||||
|
||||
# build the compiler
|
||||
stage4:
|
||||
|
|
@ -102,24 +96,32 @@ stage4:
|
|||
#this is a way to create a bootstrap binary.
|
||||
stage5:
|
||||
$(CC) SYSTEM.c Args.c Console.c Modules.c Unix.c \
|
||||
oocOakStrings.c architecture.c prf.c version.c Kernel.c Files.c OakFiles.c Reals.c CmdlnTexts.c \
|
||||
oocOakStrings.c architecture.c prf.c version.c Kernel0.c Files0.c Reals.c Texts0.c \
|
||||
extTools.c \
|
||||
OPM.c OPS.c OPT.c OPC.c OPV.c OPB.c OPP.c errors.c
|
||||
|
||||
$(CL) voc.c -o voc \
|
||||
$(CL) voc.c -o voc \
|
||||
SYSTEM.o Args.o Console.o Modules.o Unix.o \
|
||||
oocOakStrings.o architecture.o prf.o version.o Kernel.o Files.o Reals.o CmdlnTexts.o \
|
||||
oocOakStrings.o architecture.o prf.o version.o Kernel0.o Files0.o Reals.o Texts0.o \
|
||||
extTools.o \
|
||||
OPM.o OPS.o OPT.o OPC.o OPV.o OPB.o OPP.o errors.o
|
||||
$(CL) BrowserCmd.c -o showdef \
|
||||
SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o prf.o version.o Kernel.o Files.o Reals.o CmdlnTexts.o \
|
||||
SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o prf.o version.o Kernel0.o Files0.o Reals.o Texts0.o \
|
||||
OPM.o OPS.o OPT.o OPV.o OPC.o errors.o
|
||||
|
||||
$(CL) OCatCmd.c -o ocat \
|
||||
SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o prf.o version.o Kernel.o Files.o Reals.o CmdlnTexts.o
|
||||
SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o prf.o version.o Kernel0.o Files0.o Reals.o Texts0.o
|
||||
|
||||
# build all library files
|
||||
stage6:
|
||||
#v4 libs
|
||||
$(VOCSTATIC) -sP Kernel.Mod
|
||||
$(VOCSTATIC) -sP Files.Mod
|
||||
$(VOCSTATIC) -sP Texts.Mod
|
||||
$(VOCSTATIC) -sP Printer.Mod
|
||||
$(VOCSTATIC) -sP Strings.Mod
|
||||
$(VOCSTATIC) -sP Sets.Mod
|
||||
$(VOCSTATIC) -sP Sets0.Mod
|
||||
|
||||
#ooc libs
|
||||
$(VOCSTATIC) -sP oocAscii.Mod
|
||||
|
|
@ -159,7 +161,7 @@ stage6:
|
|||
$(VOCSTATIC) -sP oocFilenames.Mod
|
||||
$(VOCSTATIC) -sP oocwrapperlibc.Mod
|
||||
$(VOCSTATIC) -sP oocC.Mod
|
||||
#no X11 under macosx
|
||||
#no X11 on macosx
|
||||
#$(VOCSTATIC) -sP oocX11.Mod
|
||||
#$(VOCSTATIC) -sP oocXutil.Mod
|
||||
#$(VOCSTATIC) -sP oocXYplane.Mod
|
||||
|
|
@ -220,13 +222,6 @@ stage6:
|
|||
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
|
||||
$(VOCSTATIC) -sP ulmTCrypt.Mod
|
||||
|
||||
#more v4 libs
|
||||
$(VOCSTATIC) -sP Printer.Mod
|
||||
$(VOCSTATIC) -sP Strings.Mod
|
||||
$(VOCSTATIC) -sP Sets.Mod
|
||||
$(VOCSTATIC) -sP Sets0.Mod
|
||||
$(VOCSTATIC) -sP compatIn.Mod
|
||||
|
||||
#pow32 libs
|
||||
$(VOCSTATIC) -sP powStrings.Mod
|
||||
|
||||
|
|
@ -256,27 +251,27 @@ stage6:
|
|||
# $(VOCSTATIC0) -sPS compatIn.Mod
|
||||
# $(VOCSTATIC0) -smPS vmake.Mod
|
||||
# $(CC) compatIn.c
|
||||
# $(CL) vmake.c -o vmake SYSTEM.o Args.o compatIn.o CmdlnTexts.o Console.o Files.o Reals.o Modules.o Kernel.o Unix.o oocOakStrings.o oocIntStr.o oocConvTypes.o oocIntConv.o prf.o version.o architecture.o
|
||||
# $(CL) vmake.c -o vmake SYSTEM.o Args.o compatIn.o Texts.o Console.o Files.o Reals.o Modules.o Kernel.o Unix.o oocOakStrings.o oocIntStr.o oocConvTypes.o oocIntConv.o
|
||||
|
||||
|
||||
|
||||
stage7:
|
||||
#remove non library objects
|
||||
rm -f architecture.o prf.o version.o extTools.o OPM.o OPS.o OPT.o OPC.o OPV.o OPB.o OPP.o errors.o
|
||||
rm -f Kernel0.o Files0.o Texts0.o architecture.o prf.o version.o extTools.o OPM.o OPS.o OPT.o OPC.o OPV.o OPB.o OPP.o errors.o
|
||||
#objects := $(wildcard *.o)
|
||||
#$(LD) objects
|
||||
$(ARCHIVE) *.o
|
||||
#$(ARCHIVE) objects
|
||||
$(LD) *.o
|
||||
### echo "$(PREFIX)/lib" > 05vishap.conf
|
||||
echo "$(PREFIX)/lib" > 05vishap.conf
|
||||
|
||||
clean:
|
||||
# rm_objects := rm $(wildcard *.o)
|
||||
# objects
|
||||
rm *.o
|
||||
rm *.sym
|
||||
rm *.h
|
||||
rm *.c
|
||||
rm *.sym
|
||||
rm *.o
|
||||
rm *.a
|
||||
rm *.dylib
|
||||
|
||||
|
|
@ -293,13 +288,13 @@ install:
|
|||
test -d $(PREFIX)/lib/voc/obj | mkdir -p $(PREFIX)/lib/voc/obj
|
||||
test -d $(PREFIX)/lib/voc/sym | mkdir -p $(PREFIX)/lib/voc/sym
|
||||
|
||||
cp $(LIBRARY).so $(PREFIX)/lib
|
||||
cp $(LIBRARY).dylib $(PREFIX)/lib
|
||||
cp $(LIBRARY).a $(PREFIX)/lib
|
||||
cp *.c $(PREFIX)/lib/voc/obj/
|
||||
cp *.h $(PREFIX)/lib/voc/obj/
|
||||
cp *.sym $(PREFIX)/lib/voc/sym/
|
||||
|
||||
cp 05vishap.conf /etc/ld.so.conf.d/
|
||||
#cp 05vishap.conf /etc/ld.so.conf.d/
|
||||
ldconfig
|
||||
ln -s $(PREFIX) $(PREFIXLN)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue