Giter VIP home page Giter VIP logo

build's People

Contributors

c3d avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

build's Issues

System static library dependency

Hello, Christophe!

I really like this project and want to say thank you for your work! But I wasn't able to find how to specify static libraries for the product. I mean how to pass -L and -l options to the linker?

clang support on linux?

Is there a way to use clang on linux?
From looking at config.gnu.mk - it hardcodes CC/CXX to gcc/g++

Configurable output

The build products seem to go in a weird (to me place). I'd like libraries, executables to just be output in the directory where the makefile/product is defined. I'm not clear on how to achieve this.

Link shouldn't use CXX/g++ if all sources are plain C files

I'm running into a problem where I specify -m32 for CFLAGS and LDFLAGS. This works fine for the compilation, but when it comes time to link, I get this complaint:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/6/libstdc++.so when searching for -lstdc++

This is due to the fact that g++ is being used to link instead of gcc which implies libstdc++, but all my source files were plain C files so the logic could detect this and use gcc instead for the link.

LIBRARIES is assuming directory and library are named the same thing

I have specified LIBRARIES like this:

LIBRARIES=some/path/src

Which results in this error:

gcc: error: build/objects/linux/opt/src.a: No such file or directory

On the other hand, if I do this:

LIBRARIES=some/path/src/foo.lib

This result in the following error:

cd: some/path/foo.lib: No such file or directory

You seem to have settled on a convention that directories are specified with trailing slash. In which case it should also apply to library specifications I would think. However, I should point out that the convention of requiring ending "/" for directories will likely cause pain down the road if build begins to see wider adoption because that is typically not expected. Moving the semantics for that sort of thing to the variable name itself would be more conventional.

libtool: error: unrecognised option: '-no_warning_for_no_symbols'

unionsq~/dev/projectm* build € make -C src/libprojectM/

****************************************************************
* The BUILDENV environment variable is not set
* You will accelerate builds by setting it as appropriate for
* your system. The best guess is BUILDENV=macosx-clang
* Attempting to build opt with macosx-clang DIR=/src/libprojectM
****************************************************************

[BEGIN]              opt macosx-clang in [top]/src/libprojectM   
[COMPILE  1/14]      projectM.cpp      
In file included from projectM.cpp:23:
Renderer/RenderItemMergeFunction.hpp:122:74: warning: expression result unused [-Wunused-value]
        target.imageUrl = (ratio > 0.5) ? lhs->imageUrl : rhs->imageUrl, ratio;

....

[BEGIN]              debug macosx-clang in [top]/src/libprojectM   
libtool -no_warning_for_no_symbols -static		../../build/objects/macosx-clang/debug/src/libprojectM/projectM.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/PCM.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/Preset.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/fftsg.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/KeyHandler.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/timer.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/wipemalloc.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/PresetLoader.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/PresetChooser.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/PipelineMerger.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/ConfigFile.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/TimeKeeper.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/PresetFactory.cpp.o ../../build/objects/macosx-clang/debug/src/libprojectM/PresetFactoryManager.cpp.o  		-o ../../build/objects/macosx-clang/debug/libprojectM.a
Usage: /usr/local/bin/libtool [OPTION]... [MODE-ARG]...
Try 'libtool --help' for more information.
libtool:   error: unrecognised option: '-no_warning_for_no_symbols'
make[2]: *** [../../build/objects/macosx-clang/debug/libprojectM.a] Error 1

Support cross-building

Is there some way to use CROSS_COMPILE or specify the cross-building toolchain to use?

Don't require output

I'd like to have a top-level makefile that just specifies LIBRARIES/SUBDIRS but I can't because it yells at me if I'm missing a product

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.