Also, do y’all call main() in the if block or do you just put the code you want to run in the if block?

  • anton@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    8 days ago

    If you want to have a library that can also be a standalone executable, just put the main function in an extra file and don’t compile that file when using the library as a library.
    You could also use the preprocessor to do it similar to python but please don’t.

    Just use any build tool, and have two targets, one library and one executable:

    LIB_SOURCES = tools.c, stuff.c, more.c
    EXE_SOURCES = main.c, $LIB_SOURCES
    

    Edit: added example