diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2021-04-22 09:48:30 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2021-04-22 09:48:30 -0700 |
commit | 4bee1c911c0a710da47b62a31e84535d2e0b7c76 (patch) | |
tree | 05e86e31bfa55eebeb8b698e5e56590c66ab34ac /Makefile | |
parent | 1f312a24606b09cf1a41aa79946b1963a242f648 (diff) |
chore(organize): restructured build to allow for parallel projects to sys functionality
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -6,11 +6,12 @@ PKG := pkg-config # All needed build directories INC_DIR := include -SRC_DIR := sys BIN_DIR := bin +SYS_DIR := sys LIB_DIR := lib -OBJ_DIR := build -TST_DIR := test +SRC_DIR := src +OBJ_DIR := .build +TST_DIR := .test # C runtime library CINIT := $(LIB_DIR)/crt/crt1.o $(LIB_DIR)/crt/x86_64/crti.o `gcc --print-file-name=crtbeginS.o` @@ -24,15 +25,15 @@ INCS := -I $(INC_DIR) -isystem $(INC_DIR)/vendor/libc ELIBS := -L$(LIB_DIR) -lc # Named generic rules (must be evaluated lazily) -COMPILE = @echo "CC "$@;\ +COMPILE = @echo "CC "$(@:$(OBJ_DIR)/%=%);\ $(CC) -MD $(CFLAGS) $(TCFLAGS) $(INCS) $(TCINCS) -o $@ -c $< -LINK = @echo "LD "$@;\ +LINK = @echo "LD "$(@:$(OBJ_DIR)/%=%);\ $(CC) -MD $(CFLAGS) $(STATIC) $(TCFLAGS) -o $@ $(CINIT) $< $(CFINI) $(TCLIBS) $(ELIBS) -COMPLINK = @echo "CC "$@;\ +COMPLINK = @echo "CC "$(@:$(OBJ_DIR)/%=%);\ $(CC) -MD $(CFLAGS) $(STATIC) $(TCFLAGS) $(INCS) $(TCINCS) -o $@ $(CINIT) $^ $(CFINI) $(TCLIBS) $(ELIBS) -ASSEMBLE = @echo "AS "$@;\ +ASSEMBLE = @echo "AS "$(@:$(OBJ_DIR)/%=%);\ $(AS) $(AFLAGS) $(TCFLAGS) -o $@ $< -ARCHIVE = @echo "AR "$@;\ +ARCHIVE = @echo "AR "$(@:$(OBJ_DIR)/%=%);\ $(AR) crs $@ $^ include rules.mk |