almost done

This commit is contained in:
2025-12-28 01:39:26 +02:00
parent bf5ca2c23b
commit 9a2ccd9cf0
16 changed files with 211 additions and 62 deletions

View File

@@ -1,10 +1,13 @@
# We want to build just enough to use other stuff
TIER_FILES := ../tier0/lib.cpp ../tier0/mem.cpp ../tier0/platform.cpp ../tier1/utlbuffer.cpp ../tier1/interface.cpp ../tier1/utlstring.cpp ../tier1/utlvector.cpp ../tier1/utlmap.cpp ../tier1/commandline.cpp ../tier2/filesystem.cpp ../tier2/filesystem_libc.cpp ../tier2/fileformats/ini.cpp
FPC_FILES := main.cpp library/runner.cpp library/helper.cpp library/c.cpp library/ld.cpp library/clang/c.cpp library/clang/ld.cpp library/target.cpp
TIER0_FILES := ../tier0/lib.cpp ../tier0/mem.cpp ../tier0/platform.cpp
TIER1_FILES := ../tier1/utlbuffer.cpp ../tier1/interface.cpp ../tier1/utlstring.cpp ../tier1/utlvector.cpp ../tier1/utlmap.cpp ../tier1/commandline.cpp
TIER2_FILES := ../tier2/filesystem.cpp ../tier2/fileformats/ini.cpp
FILESYSTEM_FILES := ../stdfilesystems/filesystem_libc.cpp
TIER1_OBJS := $(TIER1_FILES:.cpp=.o)
TIER2_OBJS := $(TIER2_FILES:.cpp=.o)
FPC_FILES := library/runner.cpp library/helper.cpp library/c.cpp library/ld.cpp library/clang/c.cpp library/clang/ld.cpp library/target.cpp library/builder.cpp
CC = clang
OUTPUT_DIR = fpc
CCFLAGS = -I../public -Ipublic -lc -lstdc++
CCFLAGS = -g -I../public -Ipublic
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
@@ -14,20 +17,43 @@ ifeq ($(UNAME_S),Linux)
endif
recompile: ../build/tools
./fpc build
build/fpc build
mv fpc_temp fpc
install: $(FPC_FILES) ../build/tools
$(CC) -g $(TIER_FILES) $(FPC_FILES) $(CCFLAGS) -o $(OUTPUT_DIR)
./fpc build
install: ../build/tools libfpcbuild.a libfpc.so libtier0.so libtier1.a libtier2.a libfilesystem_std.so builddir
$(CC) main.cpp -lc -lstdc++ $(CCFLAGS) -o build/fpc build/libtier0.so build/libtier1.a build/libtier2.a build/libfpc.so build/libfilesystem_std.so
gdb --args build/fpc build
mv fpc_temp fpc
libtier0.so: $(TIER0_FILES) builddir
$(CC) $(CCFLAGS) -fPIC -shared -o build/libtier0.so $(TIER0_FILES)
%.o: %.cpp
$(CC) $(CCFLAGS) -fPIC -c $< -o $@
libtier1.a: $(TIER1_OBJS) builddir
ar rcs build/libtier1.a $(TIER1_OBJS)
libtier2.a: $(TIER2_OBJS) builddir
ar rcs build/libtier2.a $(TIER2_OBJS)
libfilesystem_std.so: $(FILESYSTEM_FILES) libtier1.a builddir
$(CC) $(CCFLAGS) -fPIC -shared -o build/libfilesystem_std.so $(FILESYSTEM_FILES) build/libtier1.a
libfpcbuild.a: buildfile/interfaces.o builddir
ar rcs build/libfpcbuild.a buildfile/interfaces.o
libfpc.so: $(FPC_FILES) builddir libfpcbuild.a
$(CC) $(CCFLAGS) -fPIC -shared -o build/libfpc.so build/libfpcbuild.a $(FPC_FILES)
builddir:
mkdir -p build
../build/tools:
mkdir -p ../build/tools
mkdir -p ../build/tools/fpc
install_fpc:
cp fpc ../build/tools
cp -r build/* ../build/tools/fpc
cp -r public ../build/tools
cp -r ../public/tier0 ../build/tools/public
cp -r ../public/tier1 ../build/tools/public