Add compiler detection + optimizations
Added compiler detection: TCC->Clang->GCC Uses -O2 optimizations now Uses -march=native by default, but by using ```make package```, it creates a distrobutable binary instead.
This commit is contained in:
@@ -3,9 +3,19 @@
|
|||||||
|
|
||||||
VERSION = `git describe --tags --dirty 2>/dev/null || echo 0.2`
|
VERSION = `git describe --tags --dirty 2>/dev/null || echo 0.2`
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
CC = cc
|
|
||||||
PKG_CONFIG = pkg-config
|
PKG_CONFIG = pkg-config
|
||||||
|
|
||||||
|
# Auto-detect compiler: TCC > Clang > GCC
|
||||||
|
ifeq ($(shell which tcc 2>/dev/null),)
|
||||||
|
ifeq ($(shell which clang 2>/dev/null),)
|
||||||
|
CC = gcc
|
||||||
|
else
|
||||||
|
CC = clang
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
CC = tcc
|
||||||
|
endif
|
||||||
|
|
||||||
# Uncomment to build without XWayland support
|
# Uncomment to build without XWayland support
|
||||||
#XWAYLAND =
|
#XWAYLAND =
|
||||||
#XLIBS =
|
#XLIBS =
|
||||||
@@ -18,7 +28,9 @@ PKGS = wayland-server xkbcommon libinput $(LUA_PKG) $(XLIBS)
|
|||||||
CFLAGS = `$(PKG_CONFIG) --cflags $(PKGS) wlroots-0.20` \
|
CFLAGS = `$(PKG_CONFIG) --cflags $(PKGS) wlroots-0.20` \
|
||||||
-I. -Iinclude -Isrc -Iparser -Iprotocols \
|
-I. -Iinclude -Isrc -Iparser -Iprotocols \
|
||||||
-DWLR_USE_UNSTABLE -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" \
|
-DWLR_USE_UNSTABLE -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" \
|
||||||
$(XWAYLAND) -g -Wall -Wextra -Wno-unused-parameter -O1 -std=c11 $(CFLAGS)
|
$(XWAYLAND) -g -Wall -Wextra -Wno-unused-parameter -O2 $(MARCH) -std=c11 $(CFLAGS)
|
||||||
|
|
||||||
|
MARCH = -march=native
|
||||||
LDLIBS = `$(PKG_CONFIG) --libs $(PKGS) wlroots-0.20` -lm $(LIBS)
|
LDLIBS = `$(PKG_CONFIG) --libs $(PKGS) wlroots-0.20` -lm $(LIBS)
|
||||||
|
|
||||||
SMSG_CFLAGS = `$(PKG_CONFIG) --cflags wayland-client` -Wall -Wextra -Wno-unused-parameter
|
SMSG_CFLAGS = `$(PKG_CONFIG) --cflags wayland-client` -Wall -Wextra -Wno-unused-parameter
|
||||||
@@ -32,6 +44,9 @@ PROTO_OBJS = protocols/peachwm-ipc-unstable-v2-protocol.o \
|
|||||||
|
|
||||||
all: peachwm smsg/smsg
|
all: peachwm smsg/smsg
|
||||||
|
|
||||||
|
package:
|
||||||
|
$(MAKE) MARCH=
|
||||||
|
|
||||||
# Compositor
|
# Compositor
|
||||||
|
|
||||||
peachwm: src/peachwm.o src/util.o parser/parser.o \
|
peachwm: src/peachwm.o src/util.o parser/parser.o \
|
||||||
|
|||||||
Reference in New Issue
Block a user