some work on fpc
This commit is contained in:
42
fpc/Makefile
42
fpc/Makefile
@@ -1,11 +1,11 @@
|
||||
# We want to build just enough to use other stuff
|
||||
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
|
||||
TIER0_FILES := ../tier0/lib.cpp ../tier0/mem.cpp ../tier0/platform.cpp ../tier0/commandline.cpp
|
||||
TIER1_FILES := ../tier1/utlbuffer.cpp ../tier1/interface.cpp ../tier1/utlstring.cpp ../tier1/utlvector.cpp ../tier1/utlmap.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
|
||||
FPC_FILES := library/helper.cpp library/target.cpp library/builder.cpp library/runner.cpp library/c.cpp library/ld.cpp library/clang/c.cpp library/clang/ld.cpp
|
||||
CC = clang
|
||||
CCFLAGS = -g -I../public -Ipublic
|
||||
|
||||
@@ -16,14 +16,12 @@ endif
|
||||
ifeq ($(UNAME_S),Linux)
|
||||
endif
|
||||
|
||||
recompile: ../build/tools
|
||||
recompile: ../build/tools/fpc
|
||||
build/fpc build
|
||||
mv fpc_temp fpc
|
||||
|
||||
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
|
||||
install: ../build/tools/fpc libfpcbuild.a libfpc.so libtier0.so libtier1.a libtier2.a libfilesystem_std.so install_temp builddir
|
||||
$(CC) -fPIC main.cpp library/helper.cpp library/target.cpp library/builder.cpp -lc -lstdc++ $(CCFLAGS) -o build/fpc build/libtier0.so build/libtier1.a build/libtier2.a -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN'
|
||||
build/fpc build -fpcdebug
|
||||
|
||||
libtier0.so: $(TIER0_FILES) builddir
|
||||
$(CC) $(CCFLAGS) -fPIC -shared -o build/libtier0.so $(TIER0_FILES)
|
||||
@@ -31,10 +29,10 @@ libtier0.so: $(TIER0_FILES) builddir
|
||||
%.o: %.cpp
|
||||
$(CC) $(CCFLAGS) -fPIC -c $< -o $@
|
||||
|
||||
libtier1.a: $(TIER1_OBJS) builddir
|
||||
libtier1.a: $(TIER1_OBJS) builddir libtier0.so
|
||||
ar rcs build/libtier1.a $(TIER1_OBJS)
|
||||
|
||||
libtier2.a: $(TIER2_OBJS) builddir
|
||||
libtier2.a: $(TIER2_OBJS) builddir libtier1.a
|
||||
ar rcs build/libtier2.a $(TIER2_OBJS)
|
||||
|
||||
libfilesystem_std.so: $(FILESYSTEM_FILES) libtier1.a builddir
|
||||
@@ -43,20 +41,26 @@ libfilesystem_std.so: $(FILESYSTEM_FILES) libtier1.a builddir
|
||||
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)
|
||||
libfpc.so: $(FPC_FILES) builddir libfpcbuild.a libtier1.a
|
||||
$(CC) $(CCFLAGS) $(FPC_FILES) library/libfpc.cpp -fPIC -shared -o build/libfpc.so build/libtier1.a
|
||||
|
||||
builddir:
|
||||
mkdir -p build
|
||||
|
||||
../build/tools:
|
||||
../build/tools/fpc:
|
||||
mkdir -p ../build/tools/fpc
|
||||
|
||||
install_fpc:
|
||||
install_fpc: ../build/tools/fpc
|
||||
mv build/fpc_temp fpc
|
||||
mv build/libtier0_temp.so libtier0.so
|
||||
mv build/libfpc_temp.so libfpc.so
|
||||
mv build/libfilesystem_std_temp.so libfilesystem_std.so
|
||||
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
|
||||
cp -r ../public/tier2 ../build/tools/public
|
||||
|
||||
install_temp: builddir
|
||||
cp -r public build
|
||||
cp -r ../public/tier0 build/public
|
||||
cp -r ../public/tier1 build/public
|
||||
cp -r ../public/tier2 build/public
|
||||
|
||||
auto: install install_fpc
|
||||
|
||||
Reference in New Issue
Block a user