Start with z80 tracker
This commit is contained in:
43
tracker/Makefile
Normal file
43
tracker/Makefile
Normal file
@@ -0,0 +1,43 @@
|
||||
TARGET := tracker
|
||||
|
||||
BUILDDIR := build
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
SRCDIRS := src
|
||||
SRCFILES := $(shell find $(SRCDIRS) -type f -name "*.c")
|
||||
OBJFILES := $(SRCFILES:%.c=$(BUILDDIR)/%.c.o)
|
||||
DEPFILES := $(SRCFILES:%.c=$(BUILDDIR)/%.c.d)
|
||||
|
||||
CC := gcc
|
||||
CFLAGS := -Wall -Wextra
|
||||
CPPFLAGS := -I src $(shell pkg-config --cflags sdl2)
|
||||
LDLIBS := $(shell pkg-config --libs sdl2)
|
||||
|
||||
.PHONY: $(TARGET) all clean
|
||||
all: $(TARGET)
|
||||
|
||||
# PHONY RULES
|
||||
# -----------
|
||||
|
||||
$(TARGET): $(BUILDDIR)/$(TARGET)
|
||||
|
||||
clean:
|
||||
echo CLEAN FILES FOR $(TARGET)
|
||||
rm -rf $(BUILDDIR)
|
||||
|
||||
# SPECIFIC BUILD RULES
|
||||
# --------------------
|
||||
|
||||
$(BUILDDIR)/$(TARGET): $(OBJFILES)
|
||||
echo 'LD ' $@
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(LDFLAGS) -o $@ $(OBJFILES) $(LDLIBS)
|
||||
|
||||
$(OBJFILES): $(BUILDDIR)/%.c.o: %.c
|
||||
echo 'CC ' $@
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -o $@ -c $<
|
||||
|
||||
# Header dependencies generated by -MMD. Keep this after the real targets so
|
||||
# included files can never accidentally become Make's default goal.
|
||||
-include $(DEPFILES)
|
||||
Reference in New Issue
Block a user