Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SRC := $(shell find src -name '*.c')
- HDR := $(shell find src -name '*.h')
- OBJ := $(patsubst src/%.c,obj/%.o,$(SRC))
- DEP := $(patsubst src/%.c,dep/%.d,$(SRC))
- PKG_CONFIG ?= pkg-config
- STRIP ?= strip
- TARGET := my-project
- VERSION = $(shell git describe --long --all --dirty)
- LIBS = freeglut glu
- LINK = -lm -ldl $(shell $(PKG_CONFIG) --libs $(LIBS)) $(LDFLAGS
- FLAGS = \
- -DVERSION=\"$(VERSION)\" -O2 \
- -Wall -Wextra -Wno-parentheses -Wno-unused-parameter \
- $(shell $(PKG_CONFIG) --cflags $(LIBS)) \
- $(CFLAGS)
- $(TARGET): $(OBJ)
- @printf "(LD) "
- $(CC) $(OBJ) $(LINK) -o $@
- $(TARGET)-strip: $(TARGET)
- @printf "(STRIP) "
- $(STRIP) -o $@ $<
- obj/%.o: src/%.c
- @mkdir -p $(dir $@)
- @printf "(CC) "
- $(CC) $(FLAGS) -o $@ -c $<
- dep/%.d: src/%.c $(HDR)
- @mkdir -p $(dir $@)
- @printf "(DEP) $@\n"
- @$(CC) $(FLAGS) -o $@ -MT $(patsubst src/%.c,obj/%.o,$<) -MM $<
- ifeq ($(filter clean,$(MAKECMDGOALS)),)
- -include $(DEP)
- endif
- .PHONY: clean
- clean:
- rm -f $(TARGET) $(TARGET)-strip
- rm -rf obj dep
Add Comment
Please, Sign In to add comment