forked from SerenityOS/serenity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
39 lines (29 loc) · 914 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
SRCS = $(wildcard *.cpp)
OBJS = ${SRCS:.cpp=.o}
APPS = ${SRCS:.cpp=}
ARCH_FLAGS =
STANDARD_FLAGS = -std=c++17
WARNING_FLAGS = -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings -Wimplicit-fallthrough
FLAVOR_FLAGS = -fno-exceptions -fno-rtti -fno-sized-deallocation
OPTIMIZATION_FLAGS = -Os
INCLUDE_FLAGS = -I.. -I. -I../LibC
DEFINES = -DSANITIZE_PTRS -DUSERLAND
CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(ARCH_FLAGS) $(STANDARD_FLAGS) $(INCLUDE_FLAGS) $(DEFINES)
CXX = i686-pc-serenity-g++
LD = i686-pc-serenity-g++
AR = i686-pc-serenity-r
LDFLAGS = -L../LibC -L../LibCore -L../LibGUI
.PHONY: all list clean
all: $(OBJS) $(APPS)
list:
@echo $(APPS)
clean:
@echo "CLEAN"
@rm -f $(APPS) $(OBJS) *.d
$(APPS) : % : %.o $(OBJS)
@echo "LD $<"
@$(LD) -o $@ $(LDFLAGS) $< -lc -lgui -lcore
%.o: %.cpp
@echo "CXX $<"
@$(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)