diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-09 13:27:16 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-09 13:27:16 -0500 |
| commit | b04fefe8ee0086bc1404c06b8351ecb4e942f151 (patch) | |
| tree | adbb6fecfc17f781c16e9150a80124936040d8e3 /Makefile | |
| parent | 5845642965a1eebaec3a1d1126445ecb459688b8 (diff) | |
deprecate cmake + fixes
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 103 |
1 files changed, 36 insertions, 67 deletions
@@ -12,7 +12,7 @@ define cc-dbg-command $(CC) -std=c2x -c -o $@ -DDEBUG -g -O0 $(CFLAGS) $(INCS) $< endef define cxx-bin-command - $(CXX) -std=c++23 -c -o $@ -DNDEBUG -O0 $(CXXFLAGS) $(INCS) $< + $(CXX) -std=c++23 -c -o $@ -DNDEBUG -O0 $(CXXFLAGS) $(INCS) $< endef define cxx-dbg-command $(CXX) -std=c++23 -c -o $@ -DDEBUG -g -O0 $(CXXFLAGS) $(INCS) $< @@ -20,11 +20,12 @@ endef FLG_PKE = -Isub/imgui -Isub/stb -Isub/cgltf -Isub/bullet3/src FLG_EDT = $(FLG_PKE) -Isrc +FLG_MPL = $(FLG_PKE) -Isrc +FLG_RUN = $(FLG_PKE) -Isrc DIR_OBJ=obj DIR_BIN=bin DIR_DBG=dbg -DIR_SCR=scratch SRC = \ src/vendor/pkh_include.cpp \ @@ -59,33 +60,6 @@ DST_SHADERS = \ $(DIR_OBJ)/texture.frag.spv \ $(DIR_OBJ)/present.frag.spv \ -# Bullet3Collision/libBullet3Collision.a \ - Bullet3Dynamics/libBullet3Dynamics.a \ - Bullet3Geometry/libBullet3Geometry.a \ - Bullet3OpenCL/libBullet3OpenCL_clew.a \ - Bullet3Serialize/Bullet2FileLoader/libBullet2FileLoader.a \ - BulletInverseDynamics/libBulletInverseDynamics.a \ - BulletSoftBody/libBulletSoftBody.a \ - -# DST_BULLET = \ - BulletDynamics/libBulletDynamics.so.3.25 \ - BulletCollision/libBulletCollision.so.3.25 \ - LinearMath/libLinearMath.so.3.25 \ - Bullet3Common/libBullet3Common.so.3.25 \ - -# TMP_BULLET = $(notdir $(DST_BULLET)) -# DST_BULLET_BIN = $(TMP_BULLET:%.so.3.25=$(DIR_BIN)/%.so.3.25) -# DST_BULLET_DBG = $(TMP_BULLET:%.so.3.25=$(DIR_DBG)/%.so.3.25) - -DST_BULLET = \ - BulletDynamics/libBulletDynamics.a \ - BulletCollision/libBulletCollision.a \ - LinearMath/libLinearMath.a \ - Bullet3Common/libBullet3Common.a \ - -DST_BULLET_BIN = $(TMP_BULLET:%.a=$(DIR_BIN)/src/bullet3/%.a) -DST_BULLET_DBG = $(TMP_BULLET:%.a=$(DIR_DBG)/src/bullet3/%.a) - SRC_C = $(filter %.c,$(SRC)) SRC_CXX = $(filter %.cpp,$(SRC)) OBJ = $(SRC_C:%.c=%.o) @@ -139,12 +113,8 @@ $(DIR_OBJ)/%.so: sub/imgui/misc/cpp/%.cpp $(DIR_OBJ)/%.vert.spv: assets/shaders/%.vert $(GLSLC) $^ -o $@ - cp $@ $(DIR_BIN)/assets/shaders - cp $@ $(DIR_DBG)/assets/shaders $(DIR_OBJ)/%.frag.spv: assets/shaders/%.frag $(GLSLC) $^ -o $@ - cp $@ $(DIR_BIN)/assets/shaders - cp $@ $(DIR_DBG)/assets/shaders $(DIR_OBJ)/%.o : src/%.c $(cc-bin-command) $(FLG_PKE) @@ -171,6 +141,14 @@ $(DIR_OBJ)/%.o : editor/%.cpp $(cxx-bin-command) $(FLG_EDT) $(DIR_OBJ)/%.so : editor/%.cpp $(cxx-dbg-command) $(FLG_EDT) +$(DIR_OBJ)/%.o : example/%.cpp + $(cxx-bin-command) $(FLG_MPL) +$(DIR_OBJ)/%.so : example/%.cpp + $(cxx-dbg-command) $(FLG_MPL) +$(DIR_OBJ)/%.o : runtime/%.cpp + $(cxx-bin-command) $(FLG_RUN) +$(DIR_OBJ)/%.so : runtime/%.cpp + $(cxx-dbg-command) $(FLG_RUN) $(DIR_BIN)/libImgui.a: $(DIR_OBJ)/imgui.o $(DIR_BIN)/libImgui.a: $(DIR_OBJ)/imgui_demo.o @@ -194,38 +172,19 @@ $(DIR_DBG)/libImgui.a: $(DIR_OBJ)/imgui_stdlib.so ar rc $@ $^ ranlib $@ +# -j$$((`nproc`-1)) $(DIR_BIN)/libBullet3.a: - $(CMAKE) \ - -DCMAKE_C_FLAGS:STRING="" \ - -DCMAKE_CXX_FLAGS:STRING="" \ - -DCMAKE_BUILD_TYPE:STRING=Release \ - -DBUILD_BULLET2_DEMOS:BOOL=0 \ - -DBUILD_CPU_DEMOS:BOOL=0 \ - -DBUILD_UNIT_TESTS:BOOL=0 \ - -DBUILD_OPENGL3_DEMOS:BOOL=0 \ - -DBUILD_EXTRAS:BOOL=0 \ - -DINSTALL_EXTRA_LIBS:BOOL=0 \ - -DINSTALL_LIBS:BOOL=1 \ - -DINSTALL_CMAKE_FILES:BOOL=0 \ - -DPOSITION_INDEPENDENT_CODE:BOOL=0 \ - -Hsub/bullet3 -B$(DIR_BIN)/bullet3 -G "Unix Makefiles" - $(CMAKE) --build $(DIR_BIN)/bullet3 --target BulletDynamics BulletCollision LinearMath Bullet3Common - ar rc $@ $(DST_BULLET_BIN) - # touch $@ - - -# -LAH to show all cmake variables + (cd sub/bullet3/build3 && ./premake4_linux64 gmake) + ${MAKE} no-demos=1 no-extras=1 no-test=1 config=release64 -C sub/bullet3/build3/gmake \ + BulletDynamics BulletCollision LinearMath Bullet3Common + ar r $@ sub/bullet3/build3/gmake/obj/x64/Release/*/*.o + ranlib $@ -# -# ar rc $@ sub/bullet3/build3/gmake/obj/x64/Debug/Bullet3Collision/*.o -# ar r $@ sub/bullet3/build3/gmake/obj/x64/Debug/Bullet3Common/*.o -# ar r $@ sub/bullet3/build3/gmake/obj/x64/Debug/BulletCollision/*.o -# ar r $@ sub/bullet3/build3/gmake/obj/x64/Debug/BulletDynamics/*.o -# ar r $@ sub/bullet3/build3/gmake/obj/x64/Debug/LinearMath/*.o +# -j$$((`nproc`-1)) $(DIR_DBG)/libBullet3.a: (cd sub/bullet3/build3 && ./premake4_linux64 gmake) - ${MAKE} no-demos=1 no-extras=1 no-test=1 config=debug64 -j$$((`nproc`-1)) -C sub/bullet3/build3/gmake \ - BulletCollision Bullet3Collision BulletDynamics LinearMath Bullet3Common + ${MAKE} no-demos=1 no-extras=1 no-test=1 config=debug64 -C sub/bullet3/build3/gmake \ + BulletDynamics BulletCollision LinearMath Bullet3Common ar r $@ sub/bullet3/build3/gmake/obj/x64/Debug/*/*.o ranlib $@ @@ -241,18 +200,28 @@ $(DIR_DBG)/libpke.a: ar rc $@ $(filter %.so,$^) ranlib $@ -# $(DST_BULLET_BIN) -L$(PWD)/bin -L$(PWD)/obj -# $(DIR_BIN)/pke-editor: $(DIR_OBJ)/main.o $(DIR_OBJ)/editor.o +$(DIR_DBG)/libpke-example.a: $(DIR_OBJ)/example.so + ar rc $@ $(filter %.so,$^) + ranlib $@ + +$(DIR_BIN)/pke-editor: $(DIR_BIN)/libpke.a $(DIR_BIN)/libImgui.a $(DIR_BIN)/libBullet3.a $(DIR_BIN)/pke-editor: $(DIR_OBJ)/main.o $(DIR_OBJ)/editor.o -$(DIR_BIN)/pke-editor: $(DIR_BIN)/libpke.a - $(CXX) -v -o $@ -O3 $(CXXFLAGS) $(LDFLAGS) $(FLG_EDT) $^ -Wl,-v + $(CXX) -v -std=c++23 $(INCS) $^ $(LDFLAGS) $(CXXFLAGS) -g -O0 -o $@ $(DIR_DBG)/pke-editor: $(DIR_DBG)/libpke.a $(DIR_DBG)/libImgui.a $(DIR_DBG)/libBullet3.a $(DIR_DBG)/pke-editor: $(DIR_OBJ)/main.so $(DIR_OBJ)/editor.so @echo $^ - $(CXX) -v -std=c++23 $(INCS) $^ $(LDFLAGS) $(CXXFLAGS) -g -Os $(FLG_EDT) -o $@ + $(CXX) -v -std=c++23 $(INCS) $^ $(LDFLAGS) $(CXXFLAGS) -g -O0 -o $@ -# pke-dbg: +$(DIR_BIN)/pke-runtime: $(DIR_BIN)/libpke.a $(DIR_BIN)/libImgui.a $(DIR_BIN)/libBullet3.a +$(DIR_BIN)/pke-runtime: $(DIR_OBJ)/runtime.o + @echo $^ + $(CXX) -v -std=c++23 $(INCS) $^ $(LDFLAGS) $(CXXFLAGS) -g -O0 -o $@ + +$(DIR_DBG)/pke-runtime: $(DIR_DBG)/libpke.a $(DIR_DBG)/libImgui.a $(DIR_DBG)/libBullet3.a +$(DIR_DBG)/pke-runtime: $(DIR_OBJ)/runtime.so + @echo $^ + $(CXX) -v -std=c++23 $(INCS) $^ $(LDFLAGS) $(CXXFLAGS) -g -O0 -o $@ .PHONY: print print: |
