Code Monkey home page Code Monkey logo

Comments (5)

leefsmp avatar leefsmp commented on July 24, 2024 1

Indeed! I don't know why it didn't complained on my side. It's fixed now.
Thanks and thanks, cheers!

from particle-system.

leefsmp avatar leefsmp commented on July 24, 2024

I do not reproduce this issue on my side, there is definitely a rule for BaseObject.cpp in the make file: ParticleSystem.makefile

I don't know why this happens, I'm not an expert in makefiles, try changing the order of declaration of the rules...

from particle-system.

RobertoMalatesta avatar RobertoMalatesta commented on July 24, 2024

Not tried... but:
No rule to make target `Baseobject.cpp'
BaseObject.cpp ...
tells me you're on Windows (!)
Let me check if it's that ...
--R

from particle-system.

leefsmp avatar leefsmp commented on July 24, 2024

I compile from OSX Yosemite 10.10.5, did you install the emscripten SDK and have all dependencies working? Result of emcc -v ?

from particle-system.

RobertoMalatesta avatar RobertoMalatesta commented on July 24, 2024

There was a BaseObject that turned Baseobject in the makefile.
OSX is case-preserving but case-insensitive.
That's why it compiles on Mac and not on Linux.

This ParticleSystem.makefile works on Linux as well::

# Compiler flags...
CPP_COMPILER = emcc

# Include paths...
Release_Include_Path=-I./headers

# Library paths...
Release_Library_Path=

# Additional libraries...
Release_Libraries=

# Preprocessor definitions...
Release_Preprocessor_Definitions=-D GCC_BUILD -D NDEBUG -D _CONSOLE 

# Implictly linked object files...
Release_Implicitly_Linked_Objects=

# Compiler flags...
Release_Compiler_Flags=-O3

# Builds all configurations for this project...
.PHONY: build_all_configurations
build_all_configurations: Release

# Builds the Release configuration...
.PHONY: Release
Release: create_folders release/Field.o release/MagneticField.o release/main.o release/BaseObject.o release/Particle.o release/ParticleEmitter.o release/ParticleSystem.o release/EventEmitter.o release/EventHandler.o release/Vector.o release/glue_wrapper.o
    $(CPP_COMPILER) release/Field.o release/MagneticField.o release/main.o release/BaseObject.o release/Particle.o release/ParticleEmitter.o release/ParticleSystem.o release/EventEmitter.o release/EventHandler.o release/Vector.o release/glue_wrapper.o  $(Release_Library_Path) $(Release_Libraries) -Wl,-rpath,./ -o ../release/ParticleSystem.bc

# Compiles file glue_wrapper.cpp for the Release configuration...
-include release/glue_wrapper.d
release/glue_wrapper.o: glue_wrapper.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c glue_wrapper.cpp $(Release_Include_Path) -o release/glue_wrapper.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM glue_wrapper.cpp $(Release_Include_Path) > release/glue_wrapper.d

# Compiles file Field.cpp for the Release configuration...
-include release/Field.d
release/Field.o: Field.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c Field.cpp $(Release_Include_Path) -o release/Field.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM Field.cpp $(Release_Include_Path) > release/Field.d

# Compiles file MagneticField.cpp for the Release configuration...
-include release/MagneticField.d
release/MagneticField.o: MagneticField.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c MagneticField.cpp $(Release_Include_Path) -o release/MagneticField.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM MagneticField.cpp $(Release_Include_Path) > release/MagneticField.d

# Compiles file main.cpp for the Release configuration...
-include release/main.d
release/main.o: main.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c main.cpp $(Release_Include_Path) -o release/main.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM main.cpp $(Release_Include_Path) > release/main.d

# Compiles file BaseObject.cpp for the Release configuration...
-include release/BaseObject.d
release/BaseObject.o: BaseObject.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c BaseObject.cpp $(Release_Include_Path) -o release/BaseObject.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM BaseObject.cpp $(Release_Include_Path) > release/BaseObject.d

# Compiles file Particle.cpp for the Release configuration...
-include release/Particle.d
release/Particle.o: Particle.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c Particle.cpp $(Release_Include_Path) -o release/Particle.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM Particle.cpp $(Release_Include_Path) > release/Particle.d

# Compiles file ParticleEmitter.cpp for the Release configuration...
-include release/ParticleEmitter.d
release/ParticleEmitter.o: ParticleEmitter.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c ParticleEmitter.cpp $(Release_Include_Path) -o release/ParticleEmitter.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM ParticleEmitter.cpp $(Release_Include_Path) > release/ParticleEmitter.d

# Compiles file ParticleSystem.cpp for the Release configuration...
-include release/ParticleSystem.d
release/ParticleSystem.o: ParticleSystem.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c ParticleSystem.cpp $(Release_Include_Path) -o release/ParticleSystem.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM ParticleSystem.cpp $(Release_Include_Path) > release/ParticleSystem.d

# Compiles file EventEmitter.cpp for the Release configuration...
-include release/EventEmitter.d
release/EventEmitter.o: EventEmitter.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c EventEmitter.cpp $(Release_Include_Path) -o release/EventEmitter.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM EventEmitter.cpp $(Release_Include_Path) > release/EventEmitter.d

# Compiles file EventHandler.cpp for the Release configuration...
-include release/EventHandler.d
release/EventHandler.o: EventHandler.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c EventHandler.cpp $(Release_Include_Path) -o release/EventHandler.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM EventHandler.cpp $(Release_Include_Path) > release/EventHandler.d

# Compiles file Vector.cpp for the Release configuration...
-include release/Vector.d
release/Vector.o: Vector.cpp
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c Vector.cpp $(Release_Include_Path) -o release/Vector.o
    $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM Vector.cpp $(Release_Include_Path) > release/Vector.d


# Creates the intermediate and output folders for each configuration...
.PHONY: create_folders
create_folders:
    mkdir -p release/source
    mkdir -p ../release

# Cleans intermediate and output files (objects, libraries, executables)...
.PHONY: clean
clean:
    rm -f release/*.o
    rm -f release/*.d
    rm -f ../release/*.a
    rm -f ../release/*.so
    rm -f ../release/*.dll
    rm -f ../release/*.exe

Nice work, BTW !! 🍻

-Roberto

from particle-system.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.