Makefile: fixes and parallel by default
This commit: - fixes the OpenGL lib configurations (gl->epoxy) - added an exclusion for bin/ and build/ in .gitignore - make the Makefile parallel
This commit is contained in:
parent
3ad9a33319
commit
ca5640fa9f
|
@ -0,0 +1,2 @@
|
|||
bin/*
|
||||
build/*
|
34
Makefile
34
Makefile
|
@ -2,11 +2,12 @@
|
|||
.DELETE_ON_ERROR: $(BINDIR)/Getting_Started_with_GTK
|
||||
.DEFAULT_GOAL: all
|
||||
|
||||
NTHREADS= $(shell nproc)
|
||||
CPUS ?= $(shell (nproc --all || sysctl -n hw.ncpu) 2>/dev/null || echo 1)
|
||||
MAKEFLAGS += --jobs=$(CPUS)
|
||||
|
||||
CC=gcc
|
||||
CFLAGS=`pkg-config --cflags gtk4 gl glib-2.0 libxml-2.0`
|
||||
LDFLAGS=`pkg-config --libs gtk4 gl glib-2.0 libxml-2.0` -lGL -lGLU -lm -lepoxy -lX11 -lGLEW
|
||||
CFLAGS=`pkg-config --cflags gtk4 epoxy glib-2.0 libxml-2.0`
|
||||
LDFLAGS=`pkg-config --libs gtk4 epoxy glib-2.0 libxml-2.0` -lGL -lGLU -lm -lepoxy -lX11 -lGLEW
|
||||
WARNINGS = -Wall
|
||||
DEBUG = -ggdb -fno-omit-frame-pointer #-fdiagnostics-color=always -fsanitize=bounds -fstack-check
|
||||
OPTIMIZE = -O3
|
||||
|
@ -27,10 +28,12 @@ all: $(BINDIR)/gem-graph-client
|
|||
# Directories
|
||||
#
|
||||
$(BUILDDIR):
|
||||
mkdir -p $@
|
||||
@mkdir -p $@
|
||||
@echo " MKDIR $@"
|
||||
|
||||
$(BINDIR):
|
||||
mkdir -p $@
|
||||
@mkdir -p $@
|
||||
@echo " MKDIR $@"
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
|
@ -38,34 +41,39 @@ $(BINDIR):
|
|||
-include $(DEPENDENCIES)
|
||||
|
||||
$(BUILDDIR)/%.d: %.c Makefile | $(BUILDDIR)
|
||||
mkdir -p $(shell dirname $@)
|
||||
$(CC) $(CFLAGS) -MM -MT $(@:%.d=%.o) -MF $@ $<
|
||||
@mkdir -p $(shell dirname $@)
|
||||
@$(CC) $(CFLAGS) -MM -MT $(@:%.d=%.o) -MF $@ $<
|
||||
@echo " DEP $@"
|
||||
|
||||
#
|
||||
# Main program
|
||||
#
|
||||
$(BINDIR)/gem-graph-client: $(OBJECTS) | $(BINDIR)
|
||||
$(CC) $(LDFLAGS) $(WARNINGS) $(DEBUG) $(OPTIMIZE) $^ -o $@
|
||||
@$(CC) $(LDFLAGS) $(WARNINGS) $(DEBUG) $(OPTIMIZE) $^ -o $@
|
||||
@echo " LD $@"
|
||||
|
||||
#
|
||||
# Objects
|
||||
#
|
||||
$(BUILDDIR)/%.o: %.c Makefile | $(BUILDDIR)
|
||||
mkdir -p $(shell dirname $@)
|
||||
$(CC) $(CFLAGS) $(WARNINGS) $(DEBUG) $(OPTIMIZE) -c $< -o $@
|
||||
@mkdir -p $(shell dirname $@)
|
||||
@$(CC) $(CFLAGS) $(WARNINGS) $(DEBUG) $(OPTIMIZE) -c $< -o $@
|
||||
@echo " CC $@"
|
||||
|
||||
#
|
||||
# Virtual recipes
|
||||
#
|
||||
install:
|
||||
echo "Installing is not supported"
|
||||
@echo "Installing is not supported"
|
||||
|
||||
run: $(BINDIR)/gem-graph-client
|
||||
$(BINDIR)/gem-graph-client
|
||||
|
||||
clean:
|
||||
rm -rf $(BINDIR)
|
||||
rm -rf $(BUILDDIR)
|
||||
@rm -rf $(BINDIR)
|
||||
@echo " RM $(BINDIR)"
|
||||
@rm -rf $(BUILDDIR)
|
||||
@echo " RM $(BUILDDIR)"
|
||||
|
||||
|
||||
# More docs :
|
||||
|
|
Loading…
Reference in New Issue