aboutsummaryrefslogtreecommitdiff
path: root/code/build.cpp
blob: ffd0668246a4688ff9abd862c632b0728a6662e2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "libs/build.h"

void Build(char *Name, str8 Flags)
{
    
    printf("%s\n", Name);
    str8_list BuildCommandList = CommonBuildCommand(false, true ,true);
    Str8ListAppend(&BuildCommandList, Flags);
    str8 BuildCommand = Str8ListJoin(BuildCommandList, sizeof(OutputBuffer), OutputBuffer, ' ');
    
    linux_command_result CommandResult = LinuxRunCommandString(BuildCommand, Env, true);
    smm BytesToRead = LinuxErrorWrapperRead(CommandResult.Stderr, OutputBuffer, CommandResult.StderrBytesToRead);
    if(BytesToRead)
    {
        printf("%*s", (int)BytesToRead, OutputBuffer);
    }
    
}


int main(int ArgsCount, char *Args[], char *Env[])
{
    LinuxChangeToExecutableDirectory(Args);
    LinuxRebuildSelf(ArgsCount, Args, Env);
    
    Build("[linux handmade compile]", S8Lit("-DHANDMADE_INTERNAL=1 -DHANDMADE_SLOW=1 -DHANDMADE_SMALL_RESOLUTION=1 "
                                            "-lX11 -lXfixes -lasound "
                                            "-o linux_handmade "
                                            "../code/libs/hm_linux/linux_handmade.cpp"));
    
    Build("[handmade compile]", 
          S8Lit("-shared -fPIC "
                "-DHANDMADE_INTERNAL=1 -DHANDMADE_SLOW=1"
                "-Wno-conversion "
                "-o handmade.so "
                "../code/handmade.cpp"));
    
    return 0;
}