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
92 changed files with 527 additions and 929 deletions

5
AK/Makefile Normal file
View file

@ -0,0 +1,5 @@
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/AK/
cp ../AK/*.h $(SERENITY_BASE_DIR)/Root/usr/include/AK/
include ../Makefile.common

View file

@ -1,4 +1,20 @@
PROGRAMS = TestBinarySearch TestAtomic TestString TestQueue TestVector TestHashMap TestJSON TestWeakPtr TestNonnullRefPtr TestRefPtr TestFixedArray TestFileSystemPath TestURL TestStringView TestUtf8 TestCircularQueue
PROGRAMS = \
TestBinarySearch \
TestAtomic \
TestString \
TestQueue \
TestVector \
TestHashMap \
TestJSON \
TestWeakPtr \
TestNonnullRefPtr \
TestRefPtr \
TestFixedArray \
TestFileSystemPath \
TestURL \
TestStringView \
TestUtf8 \
TestCircularQueue
CXXFLAGS = -std=c++17 -Wall -Wextra -ggdb3 -O2 -I../ -I../../

View file

@ -1,4 +0,0 @@
#!/bin/sh
mkdir -p ../Root/usr/include/AK/
cp ../AK/*.h ../Root/usr/include/AK/

View file

@ -1,8 +1,8 @@
include ../../Makefile.common
OBJS = \
main.o
APP = About
PROGRAM = About
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,8 +1,8 @@
include ../../Makefile.common
OBJS = \
main.o
APP = Browser
PROGRAM = Browser
include ../Makefile.common
LDFLAGS = -lgui -lhtml -ldraw -lprotocol -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,11 +1,11 @@
include ../../Makefile.common
OBJS = \
Calculator.o \
Keypad.o \
CalculatorWidget.o \
main.o
Calculator.o \
Keypad.o \
CalculatorWidget.o \
main.o
APP = Calculator
PROGRAM = Calculator
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,10 +1,10 @@
include ../../Makefile.common
OBJS = \
ThreadCatalogModel.o \
BoardListModel.o \
main.o
APP = ChanViewer
PROGRAM = ChanViewer
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,9 +1,9 @@
include ../../Makefile.common
OBJS = \
DisplayProperties.o \
main.o \
APP = DisplayProperties
PROGRAM = DisplayProperties
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,11 +1,11 @@
include ../../Makefile.common
OBJS = \
DirectoryView.o \
FileUtils.o \
PropertiesDialog.o \
PropertiesDialog.o \
main.o
APP = FileManager
PROGRAM = FileManager
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,17 +1,18 @@
include ../../Makefile.common
OBJS = \
FontEditor.o \
GlyphMapWidget.o \
GlyphEditorWidget.o \
main.o
APP = FontEditor
PROGRAM = FontEditor
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
FontEditor.cpp: UI_FontEditorBottom.h
UI_FontEditorBottom.h: FontEditorBottom.frm
../../DevTools/FormCompiler/FormCompiler $< > $@
EXTRA_CLEAN = UI_FontEditorBottom.h
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
ManualModel.o \
ManualSectionNode.o \
@ -7,6 +5,8 @@ OBJS = \
History.o \
main.o
APP = Help
PROGRAM = Help
include ../Makefile.common
LDFLAGS = -lgui -lhtml -lmarkdown -ldraw -lipc -lprotocol -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,10 +1,10 @@
include ../../Makefile.common
OBJS = \
HexEditor.o \
HexEditor.o \
HexEditorWidget.o \
main.o
main.o
APP = HexEditor
PROGRAM = HexEditor
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
IRCClient.o \
IRCChannel.o \
@ -11,6 +9,8 @@ OBJS = \
IRCChannelMemberListModel.o \
main.o
APP = IRCClient
PROGRAM = IRCClient
include ../Makefile.common
LDFLAGS = -lgui -lhtml -ldraw -lprotocol -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

3
Applications/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

View file

@ -1,14 +0,0 @@
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lmarkdown -lhtml -laudio -lipc -lvt -lpcidb -lgui -ldraw -lprotocol -lipc -lthread -lpthread -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
PaintableWidget.o \
PaletteWidget.o \
@ -14,6 +12,8 @@ OBJS = \
PickerTool.o \
main.o
APP = PaintBrush
PROGRAM = PaintBrush
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,9 +1,9 @@
include ../../Makefile.common
OBJS = \
PianoWidget.o \
main.o
APP = Piano
PROGRAM = Piano
include ../Makefile.common
LDFLAGS = -lgui -ldraw -laudio -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,9 +1,9 @@
include ../../Makefile.common
OBJS = \
QSWidget.o \
main.o
APP = QuickShow
PROGRAM = QuickShow
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lprotocol -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,11 +1,11 @@
include ../../Makefile.common
OBJS = \
PlaybackManager.o \
PlaybackManager.o \
SampleWidget.o \
SoundPlayerWidget.o \
SoundPlayerWidget.o \
main.o
APP = SoundPlayer
PROGRAM = SoundPlayer
include ../Makefile.common
LDFLAGS = -lgui -ldraw -laudio -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,8 +1,8 @@
include ../../Makefile.common
OBJS = \
main.o
APP = SystemDialog
PROGRAM = SystemDialog
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
ProcessModel.o \
DevicesModel.o \
@ -12,6 +10,8 @@ OBJS = \
NetworkStatisticsWidget.o \
main.o
APP = SystemMonitor
PROGRAM = SystemMonitor
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lprotocol -lpcidb -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,11 +1,11 @@
include ../../Makefile.common
OBJS = \
TaskbarWindow.o \
TaskbarButton.o \
WindowList.o \
main.o
APP = Taskbar
PROGRAM = Taskbar
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,8 +1,8 @@
include ../../Makefile.common
OBJS = \
main.o
APP = Terminal
PROGRAM = Terminal
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lvt -lprotocol -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,9 +1,9 @@
include ../../Makefile.common
OBJS = \
TextEditorWidget.o \
main.o
main.o
APP = TextEditor
PROGRAM = TextEditor
include ../Makefile.common
LDFLAGS = -lgui -ldraw -lvt -lipc -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,14 +1,14 @@
include ../../Makefile.common
OBJS = \
main.o \
TextWidget.o \
background.png.o
APP = Welcome
PROGRAM = Welcome
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
.SUFFIXES: .png
%.png.o: %.png
@echo "LINK $<"; $(LINK) --relocatable --format binary --output $@ $<
include ../Makefile.common
include ../../Makefile.common

View file

@ -1,22 +1,8 @@
include ../../Makefile.common
OBJS = \
Fire.o
APP = Fire
PROGRAM = Fire
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,22 +1,8 @@
include ../../Makefile.common
OBJS = \
main.o
APP = HelloWorld
PROGRAM = HelloWorld
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,27 +1,13 @@
include ../../Makefile.common
OBJS = \
main.o
APP = HelloWorld2
PROGRAM = HelloWorld2
DEFINES += -DUSERLAND
all: $(APP)
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
main.cpp: UI_HelloWorld2.h
UI_HelloWorld2.h: HelloWorld2.frm
../../DevTools/FormCompiler/FormCompiler $< > $@
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
include ../../Makefile.common

3
Demos/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

View file

@ -1,22 +1,8 @@
include ../../Makefile.common
OBJS = \
main.o
APP = WidgetGallery
PROGRAM = WidgetGallery
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,3 +1,5 @@
HOST_CXX = 1
PROGRAM = FormCompiler
OBJS = \
@ -19,15 +21,4 @@ OBJS = \
../../Libraries/LibCore/CNotifier.o \
../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM)
CXXFLAGS = -std=c++17 -Wall -Wextra
%.o: %.cpp
$(PRE_CXX) $(CXX) $(CXXFLAGS) -I../ -I../../ -I../../Libraries/ -o $@ -c $<
$(PROGRAM): $(OBJS)
$(CXX) $(LDFLAGS) -I../ -I../../ -I../../Libraries/ -o $(PROGRAM) $(OBJS)
clean:
rm -f $(PROGRAM) $(OBJS)
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
Project.o \
ProjectFile.o \
@ -18,20 +16,8 @@ OBJS = \
WidgetTreeModel.o \
main.o
APP = HackStudio
PROGRAM = HackStudio
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lvt -lhtml -lprotocol -lipc -lmarkdown -lgui -ldraw -lthread -lpthread -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lvt -lhtml -lprotocol -lipc -lmarkdown -lgui -ldraw -lthread -lpthread -lcore -lc
include ../../Makefile.common

View file

@ -1,3 +1,5 @@
HOST_CXX = 1
PROGRAM = IPCCompiler
OBJS = \
@ -19,15 +21,4 @@ OBJS = \
../../Libraries/LibCore/CLocalServer.o \
../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM)
CXXFLAGS = -std=c++17 -Wall -Wextra -ggdb3
%.o: %.cpp
$(PRE_CXX) $(CXX) $(CXXFLAGS) -I../ -I../../ -I../../Libraries/ -o $@ -c $<
$(PROGRAM): $(OBJS)
$(CXX) $(LDFLAGS) -I../ -I../../ -I../../Libraries/ -o $(PROGRAM) $(OBJS)
clean:
rm -f $(PROGRAM) $(OBJS)
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
RemoteObjectGraphModel.o \
RemoteObjectPropertyModel.o \
@ -7,20 +5,8 @@ OBJS = \
RemoteObject.o \
main.o
APP = Inspector
PROGRAM = Inspector
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

3
DevTools/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

View file

@ -1,25 +1,11 @@
include ../../Makefile.common
OBJS = \
Profile.o \
ProfileModel.o \
ProfileTimelineWidget.o \
main.o
APP = ProfileViewer
PROGRAM = ProfileViewer
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
VBForm.o \
VBWidget.o \
@ -9,20 +7,8 @@ OBJS = \
VBPropertiesWindow.o \
main.o
APP = VisualBuilder
PROGRAM = VisualBuilder
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

3
Games/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

View file

@ -1,23 +1,9 @@
include ../../Makefile.common
OBJS = \
Field.o \
main.o
APP = Minesweeper
PROGRAM = Minesweeper
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,23 +1,9 @@
include ../../Makefile.common
OBJS = \
SnakeGame.o \
main.o
APP = Snake
PROGRAM = Snake
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -ldraw -lipc -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
include ../../Makefile.common

View file

@ -1,6 +1,4 @@
include ../Makefile.common
CXX_OBJS = \
OBJS = \
../AK/FileSystemPath.o \
../AK/JsonParser.o \
../AK/JsonValue.o \
@ -102,34 +100,32 @@ CXX_OBJS = \
init.o \
kprintf.o
OBJ_SUFFIX = .kernel
MODULE_OBJS = TestModule.o
OBJS = $(CXX_OBJS) Arch/i386/Boot/boot.ao
EXTRA_OBJS = Arch/i386/Boot/boot.ao
KERNEL = 1
PROGRAM = kernel
KERNEL = kernel
CXXFLAGS += -ffreestanding -mno-80387 -mno-mmx -mno-sse -mno-sse2 -fno-asynchronous-unwind-tables
CXXFLAGS += -nostdlib -nostdinc -nostdinc++
CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/
CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/i686-pc-serenity/
DEFINES += -DKERNEL
LDFLAGS += -Ttext 0x100000 -Wl,-T linker.ld -nostdlib
LDFLAGS += -Ttext 0x100000 -Wl,-T linker.ld -nostdlib -lgcc -lstdc++
all: $(KERNEL) $(MODULE_OBJS) kernel.map
all: $(PROGRAM) $(MODULE_OBJS) kernel.map
kernel.map: kernel
@echo "MKMAP $@"; sh mkmap.sh
@echo "MKMAP $@"
$(QUIET) sh mkmap.sh
$(KERNEL): $(OBJS)
@echo "LD $@"; $(LD) $(LDFLAGS) -o $@ $(OBJS) -lgcc -lstdc++
EXTRA_CLEAN += kernel.map
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
%.ao: %.S
@echo "AS $@"; $(AS) -o $@ $<
-include $(CXX_OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(KERNEL) $(OBJS) *.d
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/Kernel/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/Kernel/
include ../Makefile.common

View file

@ -1,4 +0,0 @@
#!/bin/sh
mkdir -p ../Root/usr/include/Kernel/
cp ./*.h ../Root/usr/include/Kernel/

View file

@ -1,21 +1,12 @@
include ../../Makefile.common
OBJS = \
AClientConnection.o \
AWavLoader.o
LIBRARY = libaudio.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibAudio/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibAudio/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibAudio/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibAudio/
cp libaudio.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
AK_OBJS = \
../../AK/StringImpl.o \
../../AK/String.o \
@ -57,30 +55,37 @@ LIBC_OBJS = \
serenity.o \
syslog.o
ASM_OBJS = setjmp.ao crti.ao crtn.ao
OBJS = $(AK_OBJS) $(LIBC_OBJS)
CPP_OBJS = $(AK_OBJS) $(WIDGETS_OBJS) $(LIBC_OBJS)
EXTRA_OBJS = setjmp.ao crti.ao crtn.ao
.PHONY: startfiles
startfiles: $(EXTRA_OBJS)
$(QUIET) cp crti.ao crti.o
$(QUIET) cp crtn.ao crtn.o
EXTRA_CLEAN = crt0.d
DEFINES = -DSERENITY_LIBC_BUILD
LIBRARY = libc.a
DEFINES += -DUSERLAND -DSERENITY_LIBC_BUILD
all: $(LIBRARY) startfiles
startfiles: $(ASM_OBJS)
@echo "CXX crt0.o"; $(CXX) $(CXXFLAGS) -o crt0.o -c crt0.cpp
cp crti.ao crti.o
cp crtn.ao crtn.o
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/bits/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp sys/*.h $(SERENITY_BASE_DIR)/Root/usr/include/sys/
cp bits/*.h $(SERENITY_BASE_DIR)/Root/usr/include/bits/
cp arpa/*.h $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
cp netinet/*.h $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
cp libc.a $(SERENITY_BASE_DIR)/Root/usr/lib/
cp crt0.o $(SERENITY_BASE_DIR)/Root/usr/lib/
cp crti.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crti.o
cp crtn.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crtn.o
$(LIBRARY): $(CPP_OBJS) $(ASM_OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(CPP_OBJS) $(ASM_OBJS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
%.ao: %.S
@echo "AS $@"; $(AS) -o $@ $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(CPP_OBJS) $(ASM_OBJS) *.d
include ../../Makefile.common

View file

@ -1,19 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/sys/
mkdir -p $SERENITY_ROOT/Root/usr/include/bits/
mkdir -p $SERENITY_ROOT/Root/usr/include/netinet/
mkdir -p $SERENITY_ROOT/Root/usr/include/arpa/
mkdir -p $SERENITY_ROOT/Root/usr/lib/
cp ./*.h $SERENITY_ROOT/Root/usr/include/
cp sys/*.h $SERENITY_ROOT/Root/usr/include/sys/
cp bits/*.h $SERENITY_ROOT/Root/usr/include/bits/
cp arpa/*.h $SERENITY_ROOT/Root/usr/include/arpa/
cp netinet/*.h $SERENITY_ROOT/Root/usr/include/netinet/
cp libc.a $SERENITY_ROOT/Root/usr/lib/
cp crt0.o $SERENITY_ROOT/Root/usr/lib/
cp crti.ao $SERENITY_ROOT/Root/usr/lib/crti.o
cp crtn.ao $SERENITY_ROOT/Root/usr/lib/crtn.o

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
CArgsParser.o \
CIODevice.o \
@ -27,17 +25,10 @@ OBJS = \
CGzip.o
LIBRARY = libcore.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibCore/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibCore/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibCore/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibCore/
cp libcore.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
CharacterBitmap.o \
Color.o \
@ -15,17 +13,10 @@ OBJS = \
Emoji.o
LIBRARY = libdraw.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibDraw/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibDraw/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibDraw/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibDraw/
cp libdraw.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -0,0 +1 @@
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
GPainter.o \
GButton.o \
@ -64,17 +62,10 @@ OBJS = \
GWindow.o
LIBRARY = libgui.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibGUI/
cp ./*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibGUI/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibGUI/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibGUI/
cp libgui.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,33 +1,24 @@
HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_cpp
OBJS = \
Generate_CSS_PropertyID_cpp.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

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

View file

@ -1,9 +1,3 @@
include ../../Makefile.common
LIBRARY = libhtml.a
all: $(LIBRARY)
LIBHTML_OBJS = \
CSS/DefaultStyleSheetSource.o \
CSS/PropertyID.o \
@ -68,33 +62,32 @@ LIBHTML_OBJS = \
Parser/HTMLParser.o \
ResourceLoader.o
GENERATED_SOURCES = \
EXTRA_SOURCES = \
CSS/DefaultStyleSheetSource.cpp \
CSS/PropertyID.h \
CSS/PropertyID.cpp
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"
$(QUIET) Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
CSS/PropertyID.h: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h.cpp
@echo "GENERATE $@"
$(QUIET) CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h $< > $@
CSS/PropertyID.cpp: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp.cpp
@echo "GENERATE $@"
$(QUIET) CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp $< > $@
OBJS = $(EXTRA_OBJS) $(LIBHTML_OBJS)
LIBRARY = libhtml.a
DEFINES += -DUSERLAND
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"; Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
CSS/PropertyID.h: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h.cpp
@echo "GENERATE $@"; CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h $< > $@
CSS/PropertyID.cpp: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp.cpp
@echo "GENERATE $@"; CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp $< > $@
%.o: %.cpp $(GENERATED_SOURCES)
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d $(GENERATED_SOURCES)
$(LIBRARY): $(GENERATED_SOURCES) $(LIBHTML_OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(LIBHTML_OBJS)
install:
for dir in . Parser DOM CSS Layout; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibHTML/$$dir; \
cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibHTML/$$dir/; \
done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -1,11 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
for dir in . Parser DOM CSS Layout; do
mkdir -p $SERENITY_ROOT/Root/usr/include/LibHTML/$dir
cp $dir/*.h $SERENITY_ROOT/Root/usr/include/LibHTML/$dir/
done
cp libhtml.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,21 +1,12 @@
include ../../Makefile.common
OBJS = \
IEndpoint.o \
IMessage.o
LIBRARY = libipc.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibIPC/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibIPC/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibIPC/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibIPC/
cp libipc.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,19 +1,11 @@
include ../../Makefile.common
OBJS = math.o
LIBRARY = libm.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,9 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/sys/
mkdir -p $SERENITY_ROOT/Root/usr/lib/
cp ./*.h $SERENITY_ROOT/Root/usr/include/
cp libm.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,25 +1,16 @@
include ../../Makefile.common
OBJS = \
MDDocument.o \
MDParagraph.o \
MDHeading.o \
MDCodeBlock.o \
MDList.o \
MDText.o
MDParagraph.o \
MDHeading.o \
MDCodeBlock.o \
MDList.o \
MDText.o
LIBRARY = libmarkdown.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibMarkdown/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibMarkdown/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibMarkdown/
cp *.h $SERENITY_ROOT/Root/usr/include/LibMarkdown/
cp libmarkdown.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,20 +1,11 @@
include ../../Makefile.common
OBJS = \
Database.o
LIBRARY = libpcidb.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibPCIDB/
cp ./*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibPCIDB/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibPCIDB/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibPCIDB/
cp libpcidb.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,21 +1,7 @@
include ../../Makefile.common
OBJS = \
Download.o \
Client.o
LIBRARY = libprotocol.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,19 +1,10 @@
include ../../Makefile.common
OBJS = pthread.o
LIBRARY = libpthread.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,9 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/sys/
mkdir -p $SERENITY_ROOT/Root/usr/lib/
cp ./*.h $SERENITY_ROOT/Root/usr/include/
cp libpthread.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,21 +1,12 @@
include ../../Makefile.common
OBJS = \
Thread.o \
BackgroundAction.o
LIBRARY = libthread.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibThread/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibThread/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

View file

@ -1,8 +0,0 @@
#!/bin/sh
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibThread/
cp ./*.h $SERENITY_ROOT/Root/usr/include/LibThread/
cp libthread.a $SERENITY_ROOT/Root/usr/lib/

View file

@ -1,21 +1,7 @@
include ../../Makefile.common
OBJS = \
Terminal.o \
TerminalWidget.o
LIBRARY = libvt.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
include ../../Makefile.common

3
Libraries/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

44
Makefile Normal file
View file

@ -0,0 +1,44 @@
# Build the host-side tools first, since they are needed to build some programs.
SUBDIRS = \
DevTools/IPCCompiler \
DevTools/FormCompiler \
Libraries/LibHTML/CodeGenerators/Generate_CSS_PropertyID_cpp \
Libraries/LibHTML/CodeGenerators/Generate_CSS_PropertyID_h
# Build LibC, LibCore, LibIPC and LibThread before IPC servers, since they depend on them.
SUBDIRS += \
Libraries/LibC \
Libraries/LibCore \
Libraries/LibDraw \
Libraries/LibIPC \
Libraries/LibThread \
Libraries/LibPthread
# Build IPC servers before their client code to ensure the IPC definitions are available.
SUBDIRS += \
Servers/AudioServer \
Servers/LookupServer \
Servers/ProtocolServer \
Libraries/LibAudio \
Servers/WindowServer
SUBDIRS += \
AK
SUBDIRS += \
Libraries \
Applications \
DevTools \
Servers \
Shell \
Userland \
MenuApplets \
Demos \
Games \
Kernel
include Makefile.subdir
.PHONY: test
test:
$(QUIET) $(MAKE) -C AK/Tests clean all clean

View file

@ -7,16 +7,14 @@ OPTIMIZATION_FLAGS = -Os
MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SERENITY_BASE_DIR := $(patsubst %/,%,$(dir $(MAKEFILE_PATH)))
INCLUDE_FLAGS = \
INCLUDE_FLAGS += \
-I. \
-I$(SERENITY_BASE_DIR)/DevTools \
-I$(SERENITY_BASE_DIR) \
-I$(SERENITY_BASE_DIR)/Libraries \
-I$(SERENITY_BASE_DIR)/Libraries/LibC \
-I$(SERENITY_BASE_DIR)/Servers \
-I$(SERENITY_BASE_DIR)/Libraries/LibM \
-I$(SERENITY_BASE_DIR)/Libraries/LibPthread
-I$(SERENITY_BASE_DIR)/Servers
LDFLAGS = \
LDFLAGS += \
-L$(SERENITY_BASE_DIR)/Libraries/LibC \
-L$(SERENITY_BASE_DIR)/Libraries/LibPthread \
-L$(SERENITY_BASE_DIR)/Libraries/LibCore \
@ -31,15 +29,82 @@ LDFLAGS = \
-L$(SERENITY_BASE_DIR)/Libraries/LibProtocol \
-L$(SERENITY_BASE_DIR)/Libraries/LibAudio
CLANG_FLAGS = -Wconsumed -m32 -ffreestanding -march=i686
VERBOSE = 0
ifneq ($(HOST_CXX),)
CXX = g++
AS = as
LINK = ld
OBJ_SUFFIX ?= .host
else
TOOLCHAIN_PATH = $(SERENITY_BASE_DIR)/Toolchain/Local/bin
CXX = $(PRE_CXX) $(TOOLCHAIN_PATH)/i686-pc-serenity-g++
AS = $(TOOLCHAIN_PATH)/i686-pc-serenity-as
LINK = $(TOOLCHAIN_PATH)/i686-pc-serenity-ld
DEFINES += -DDEBUG
INCLUDE_FLAGS += \
-I$(SERENITY_BASE_DIR)/Libraries/LibC \
-I$(SERENITY_BASE_DIR)/Libraries/LibM
LDFLAGS += \
-L$(SERENITY_BASE_DIR)/Libraries/LibC
ifdef KERNEL
DEFINES += -DKERNEL
else
DEFINES += -DUSERLAND
endif
OBJ_SUFFIX ?=
endif
#CXX = clang $(CLANG_FLAGS)
#CLANG_FLAGS = -Wconsumed -m32 -ffreestanding -march=i686
#SUGGEST_FLAGS = -Wsuggest-final-types -Wsuggest-final-methods -Wsuggest-override #-Wsuggest-attribute=noreturn
CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(ARCH_FLAGS) $(STANDARD_FLAGS) $(SUGGEST_FLAGS) $(INCLUDE_FLAGS) $(DEFINES)
#CXX = clang $(CLANG_FLAGS)
CXX = $(PRE_CXX) i686-pc-serenity-g++
LD = i686-pc-serenity-g++
AS = i686-pc-serenity-as
LINK = i686-pc-serenity-ld
DEFINES = -DSANITIZE_PTRS -DDEBUG -DGIT_COMMIT=\"`git rev-parse --short HEAD`\" -DGIT_BRANCH=\"`git rev-parse --abbrev-ref HEAD`\" -DGIT_CHANGES=\"`git diff-index --quiet HEAD -- && echo "tracked"|| echo "untracked"`\"
DEFINES += -DSANITIZE_PTRS -DGIT_COMMIT=\"`git rev-parse --short HEAD`\" -DGIT_BRANCH=\"`git rev-parse --abbrev-ref HEAD`\" -DGIT_CHANGES=\"`git diff-index --quiet HEAD -- && echo "tracked"|| echo "untracked"`\"
IPCCOMPILER = $(SERENITY_BASE_DIR)/DevTools/IPCCompiler/IPCCompiler
SUFFIXED_OBJS = $(patsubst %.o,%$(OBJ_SUFFIX).o,$(OBJS))
ifeq ($(VERBOSE),1)
QUIET =
else
QUIET = @
endif
-include $(SUFFIXED_OBJS:%.o=%.d)
%$(OBJ_SUFFIX).o: %.cpp $(EXTRA_SOURCES)
@echo "CPP $@"
$(QUIET) $(CXX) $(CXXFLAGS) -o $@ -c $<
%.ao: %.S
@echo "AS $@"
$(QUIET) $(AS) -o $@ $<
$(PROGRAM): $(SUFFIXED_OBJS) $(EXTRA_OBJS)
@echo "LINK $(PROGRAM)"
$(QUIET) $(CXX) -o $(PROGRAM) $(EXTRA_OBJS) $(SUFFIXED_OBJS) $(LDFLAGS)
$(LIBRARY): $(SUFFIXED_OBJS) $(EXTRA_OBJS)
@echo "LIB $@"
$(QUIET) $(AR) rcs $@ $(OBJS) $(EXTRA_OBJS) $(LIBS)
.DEFAULT_GOAL := all
all: $(PROGRAM) $(LIBRARY)
EXTRA_CLEAN ?=
clean:
@echo "CLEAN"
$(QUIET) rm -f $(PROGRAM) $(LIBRARY) $(SUFFIXED_OBJS) $(EXTRA_OBJS) *.d $(EXTRA_CLEAN)
install:
.PHONY: all clean

17
Makefile.subdir Normal file
View file

@ -0,0 +1,17 @@
subdirs: $(SUBDIRS)
$(SUBDIRS):
@$(MAKE) -C $@
all: $(subdirs)
SUBDIRS_CLEAN = $(addsuffix .clean,$(SUBDIRS))
clean: $(SUBDIRS_CLEAN)
$(SUBDIRS_CLEAN): %.clean:
@$(MAKE) -C $* clean
SUBDIRS_INSTALL = $(addsuffix .install,$(SUBDIRS))
install: $(SUBDIRS_INSTALL)
$(SUBDIRS_INSTALL): %.install:
@$(MAKE) -C $* install
.PHONY: all clean install $(SUBDIRS)

View file

@ -1,7 +1,7 @@
OBJS = main.o
PROGRAM = Audio.MenuApplet
LDFLAGS = -laudio -lgui -lipc -ldraw -lthread -lpthread -lcore -lc
include ../../Makefile.common
OBJS = main.o
APP = Audio.MenuApplet
include ../Makefile.common

View file

@ -1,7 +1,7 @@
OBJS = main.o
PROGRAM = CPUGraph.MenuApplet
LDFLAGS = -laudio -lgui -lipc -ldraw -lthread -lpthread -lcore -lc
include ../../Makefile.common
OBJS = main.o
APP = CPUGraph.MenuApplet
include ../Makefile.common

3
MenuApplets/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

View file

@ -1,14 +0,0 @@
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -laudio -lgui -lipc -ldraw -lthread -lpthread -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d

View file

@ -1,17 +1,14 @@
include ../../Makefile.common
AUDIOSERVER_OBJS = \
OBJS = \
main.o \
ASMixer.o \
ASClientConnection.o \
ASEventLoop.o
APP = AudioServer
OBJS = $(AUDIOSERVER_OBJS)
PROGRAM = AudioServer
DEFINES += -DUSERLAND
LDFLAGS = -lc -lcore -lipc -lthread -lpthread
all: $(APP)
EXTRA_CLEAN = AudioServerEndpoint.h AudioClientEndpoint.h
*.cpp: AudioServerEndpoint.h AudioClientEndpoint.h
@ -21,14 +18,8 @@ AudioServerEndpoint.h: AudioServer.ipc
AudioClientEndpoint.h: AudioClient.ipc
@echo "IPC $<"; $(IPCCOMPILER) $< > $@
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore -lipc -lthread -lpthread
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d AudioServerEndpoint.h AudioClientEndpoint.h
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/AudioServer/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/AudioServer/
include ../../Makefile.common

View file

@ -1,4 +0,0 @@
#!/bin/sh
mkdir -p ../../Root/usr/include/AudioServer/
cp ./*.h ../../Root/usr/include/AudioServer/

View file

@ -1,24 +1,9 @@
include ../../Makefile.common
LOOKUPSERVER_OBJS = \
OBJS = \
LookupServer.o \
main.o
APP = LookupServer
OBJS = $(LOOKUPSERVER_OBJS)
PROGRAM = LookupServer
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lc -lcore
include ../../Makefile.common

3
Servers/Makefile Normal file
View file

@ -0,0 +1,3 @@
SUBDIRS := $(wildcard */.)
include ../Makefile.subdir

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
PSClientConnection.o \
Protocol.o \
@ -8,11 +6,9 @@ OBJS = \
HttpDownload.o \
main.o
APP = ProtocolServer
PROGRAM = ProtocolServer
DEFINES += -DUSERLAND
all: $(APP)
LDFLAGS = -lc -lcore -lipc
*.cpp: ProtocolServerEndpoint.h ProtocolClientEndpoint.h
@ -22,14 +18,4 @@ ProtocolServerEndpoint.h: ProtocolServer.ipc
ProtocolClientEndpoint.h: ProtocolClient.ipc
@echo "IPC $<"; $(IPCCOMPILER) $< > $@
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore -lipc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d ProtocolClientEndpoint.h ProtocolServerEndpoint.h
include ../../Makefile.common

View file

@ -1,24 +1,13 @@
include ../../Makefile.common
SYSTEMSERVER_OBJS = \
OBJS = \
Service.o \
main.o
APP = SystemServer
OBJS = $(SYSTEMSERVER_OBJS)
PROGRAM = SystemServer
DEFINES += -DUSERLAND
LDFLAGS = -lcore -lc
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
install:
mkdir -p ../../Root/usr/include/SystemServer/
cp *.h ../../Root/usr/include/SystemServer/
include ../../Makefile.common

View file

@ -1,4 +0,0 @@
#!/bin/sh
#mkdir -p ../../Root/usr/include/SystemServer/
#cp *.h ../../Root/usr/include/SystemServer/

View file

@ -1,23 +1,6 @@
include ../../Makefile.common
TTYSERVER_OBJS = \
OBJS = \
main.o
APP = TTYServer
OBJS = $(TTYSERVER_OBJS)
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
PROGRAM = TTYServer
include ../../Makefile.common

View file

@ -1,25 +1,10 @@
include ../../Makefile.common
ECHOSERVER_OBJS = \
OBJS = \
Client.o \
Parser.o \
main.o
APP = TelnetServer
OBJS = $(ECHOSERVER_OBJS)
PROGRAM = TelnetServer
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lcore -lc
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \
WSEventLoop.o \
WSWindow.o \
@ -18,11 +16,9 @@ OBJS = \
WSMenuManager.o \
main.o
APP = WindowServer
PROGRAM = WindowServer
DEFINES += -DUSERLAND
all: $(APP)
LDFLAGS = -lc -ldraw -lcore -lthread -lpthread -lipc
*.cpp: WindowServerEndpoint.h WindowClientEndpoint.h
@ -32,14 +28,10 @@ WindowServerEndpoint.h: WindowServer.ipc
WindowClientEndpoint.h: WindowClient.ipc
@echo "IPC $<"; $(IPCCOMPILER) $< > $@
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -ldraw -lcore -lthread -lpthread -lipc
EXTRA_CLEAN = WindowServerEndpoint.h WindowClientEndpoint.h
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d WindowServerEndpoint.h WindowClientEndpoint.h
install:
mkdir -p ../../Root/usr/include/WindowServer/
cp *.h ../../Root/usr/include/WindowServer/
include ../../Makefile.common

View file

@ -1,4 +0,0 @@
#!/bin/sh
mkdir -p ../../Root/usr/include/WindowServer/
cp ./*.h ../../Root/usr/include/WindowServer/

View file

@ -1,24 +1,10 @@
include ../Makefile.common
OBJS = \
Parser.o \
LineEditor.o \
main.o
APP = Shell
PROGRAM = Shell
DEFINES += -DUSERLAND
all: $(APP)
$(APP): $(OBJS)
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lcore -lc
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d
LDFLAGS = -lcore -lc
include ../Makefile.common

View file

@ -1,28 +1,18 @@
include ../Makefile.common
SRCS = $(wildcard *.cpp)
OBJS = ${SRCS:.cpp=.o}
APPS = ${SRCS:.cpp=}
DEFINES += -DUSERLAND
EXTRA_CLEAN = $(APPS)
.PHONY: all list clean
LDFLAGS = -lc -lhtml -lgui -ldraw -laudio -lipc -lthread -lcore -lpcidb -lmarkdown -lpthread -lprotocol -lipc
all: $(OBJS) $(APPS)
list:
@echo $(APPS)
clean:
@echo "CLEAN"
@rm -f $(APPS) $(OBJS) *.d
$(APPS): %: %.o $(OBJS)
@echo "LINK $@"
$(QUIET) $(CXX) -o $@ $< $(LDFLAGS)
$(APPS) : % : %.o $(OBJS)
@echo "LD $@"
@$(LD) -o $@ $(LDFLAGS) $< -lc -lhtml -lgui -ldraw -laudio -lipc -lthread -lcore -lpcidb -lmarkdown -lpthread -lprotocol -lipc
%.o: %.cpp
@echo "CXX $<"
@$(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
include ../Makefile.common