Build: clean up build system, use one shared Makefile

Allow everything to be built from the top level directory with just
'make', cleaned with 'make clean', and installed with 'make
install'.  Also support these in any particular subdirectory.

Specifying 'make VERBOSE=1' will print each ld/g++/etc. command as
it runs.

Kernel and early host tools (IPCCompiler, etc.) are built as
object.host.o so that they don't conflict with other things built
with the cross-compiler.
This commit is contained in:
joshua stein 2019-12-18 17:35:46 -06:00 committed by Andreas Kling
parent f4b2b72c8e
commit ac25438d54
Notes: sideshowbarker 2024-07-19 10:47:53 +09:00
92 changed files with 527 additions and 929 deletions

View file

@ -1,33 +1,24 @@
HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_h
OBJS = \
Generate_CSS_PropertyID_h.o \
$(SERENITY_ROOT)/AK/String.o \
$(SERENITY_ROOT)/AK/StringImpl.o \
$(SERENITY_ROOT)/AK/StringBuilder.o \
$(SERENITY_ROOT)/AK/StringView.o \
$(SERENITY_ROOT)/AK/JsonValue.o \
$(SERENITY_ROOT)/AK/JsonParser.o \
$(SERENITY_ROOT)/AK/LogStream.o \
$(SERENITY_ROOT)/Libraries/LibCore/CIODevice.o \
$(SERENITY_ROOT)/Libraries/LibCore/CFile.o \
$(SERENITY_ROOT)/Libraries/LibCore/CObject.o \
$(SERENITY_ROOT)/Libraries/LibCore/CEvent.o \
$(SERENITY_ROOT)/Libraries/LibCore/CSocket.o \
$(SERENITY_ROOT)/Libraries/LibCore/CLocalSocket.o \
$(SERENITY_ROOT)/Libraries/LibCore/CNotifier.o \
$(SERENITY_ROOT)/Libraries/LibCore/CLocalServer.o \
$(SERENITY_ROOT)/Libraries/LibCore/CEventLoop.o
../../../../AK/String.o \
../../../../AK/StringImpl.o \
../../../../AK/StringBuilder.o \
../../../../AK/StringView.o \
../../../../AK/JsonValue.o \
../../../../AK/JsonParser.o \
../../../../AK/LogStream.o \
../../../../Libraries/LibCore/CIODevice.o \
../../../../Libraries/LibCore/CFile.o \
../../../../Libraries/LibCore/CObject.o \
../../../../Libraries/LibCore/CEvent.o \
../../../../Libraries/LibCore/CSocket.o \
../../../../Libraries/LibCore/CLocalSocket.o \
../../../../Libraries/LibCore/CNotifier.o \
../../../../Libraries/LibCore/CLocalServer.o \
../../../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM)
CXXFLAGS = -std=c++17 -Wall -Wextra
%.o: %.cpp
$(PRE_CXX) $(CXX) $(CXXFLAGS) -I../ -I$(SERENITY_ROOT)/ -I$(SERENITY_ROOT)/Libraries/ -o $@ -c $<
$(PROGRAM): $(OBJS)
$(CXX) $(LDFLAGS) -I../ -I$(SERENITY_ROOT)/ -I$(SERENITY_ROOT)/Libraries/ -o $(PROGRAM) $(OBJS)
clean:
rm -f $(PROGRAM) $(OBJS)
include ../../../../Makefile.common