diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2020-05-01 16:26:24 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2020-05-01 16:26:24 -0700 |
commit | 6b739739968a0cc9b4d9909d8f4ffec30f4461dd (patch) | |
tree | bd30b31896b3c52292898bde404ce5dcbf76b04e /Makefile | |
parent | 5355432d71cb1e3347b73536ce5be4af1aefcadc (diff) |
moved to static build with musl and integrated cscopes into dev tools
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -10,16 +10,23 @@ BIN_DIR := bin LIB_DIR := lib OBJ_DIR := build +# C runtime library +CINIT := $(LIB_DIR)/crt/crt1.o $(LIB_DIR)/crt/x86_64/crti.o `gcc --print-file-name=crtbeginT.o` +CFINI := `gcc --print-file-name=crtendS.o` $(LIB_DIR)/crt/x86_64/crtn.o + # Flags, Libraries and Includes -CFLAGS := -g -O3 -march=native -ffast-math -fno-strict-aliasing -fwrapv -fms-extensions -Wno-microsoft-anon-tag -Wno-incompatible-function-pointer-types +CFLAGS := -g -O3 -march=native \ + -ffast-math -fno-strict-aliasing -fwrapv -fms-extensions \ + -Wno-microsoft-anon-tag -Wno-incompatible-function-pointer-types +STATIC := -static -nodefaultlibs -nostartfiles AFLAGS := -f elf64 -INCS := -I$(INC_DIR) -ELIBS := +INCS := -isystem $(INC_DIR)/vendor/libc -I $(INC_DIR) +ELIBS := -L$(LIB_DIR) -lc # Named generic rules (must be evaluated lazily) COMPILE = $(CC) -MMD $(CFLAGS) $(TCFLAGS) $(INCS) $(TCINCS) -o $@ -c $< -LINK = $(CC) -MMD $(CFLAGS) $(TCFLAGS) -o $@ $^ $(ELIBS) $(TCLIBS) -COMPLINK = $(CC) -MMD $(CFLAGS) $(TCFLAGS) $(INCS) $(TCINCS) -o $@ $^ $(ELIBS) $(TCLIBS) +LINK = $(CC) -MMD $(CFLAGS) $(STATIC) $(TCFLAGS) -o $@ $(CINIT) $^ $(CFINI) $(TCLIBS) $(ELIBS) +COMPLINK = $(CC) -MMD $(CFLAGS) $(STATIC) $(TCFLAGS) $u$(INCS) $(TCINCS) -o $@ $(CINIT) $^ $(CFINI) $(TCLIBS) $(ELIBS) ASSEMBLE = $(AS) $(AFLAGS) $(TCFLAGS) -o $@ $< ARCHIVE = $(AR) crs $@ $^ |