1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:08:12 +00:00

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../../ 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 = \ OBJS = \
main.o 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 = \ OBJS = \
main.o 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 = \ OBJS = \
Calculator.o \ Calculator.o \
Keypad.o \ Keypad.o \
CalculatorWidget.o \ CalculatorWidget.o \
main.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 = \ OBJS = \
ThreadCatalogModel.o \ ThreadCatalogModel.o \
BoardListModel.o \ BoardListModel.o \
main.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 = \ OBJS = \
DisplayProperties.o \ DisplayProperties.o \
main.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 = \ OBJS = \
DirectoryView.o \ DirectoryView.o \
FileUtils.o \ FileUtils.o \
PropertiesDialog.o \ PropertiesDialog.o \
main.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 = \ OBJS = \
FontEditor.o \ FontEditor.o \
GlyphMapWidget.o \ GlyphMapWidget.o \
GlyphEditorWidget.o \ GlyphEditorWidget.o \
main.o main.o
APP = FontEditor PROGRAM = FontEditor
include ../Makefile.common LDFLAGS = -lgui -ldraw -lipc -lcore -lc
FontEditor.cpp: UI_FontEditorBottom.h FontEditor.cpp: UI_FontEditorBottom.h
UI_FontEditorBottom.h: FontEditorBottom.frm UI_FontEditorBottom.h: FontEditorBottom.frm
../../DevTools/FormCompiler/FormCompiler $< > $@ ../../DevTools/FormCompiler/FormCompiler $< > $@
EXTRA_CLEAN = UI_FontEditorBottom.h
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \ OBJS = \
ManualModel.o \ ManualModel.o \
ManualSectionNode.o \ ManualSectionNode.o \
@ -7,6 +5,8 @@ OBJS = \
History.o \ History.o \
main.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 = \ OBJS = \
HexEditor.o \ HexEditor.o \
HexEditorWidget.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 = \ OBJS = \
IRCClient.o \ IRCClient.o \
IRCChannel.o \ IRCChannel.o \
@ -11,6 +9,8 @@ OBJS = \
IRCChannelMemberListModel.o \ IRCChannelMemberListModel.o \
main.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 = \ OBJS = \
PaintableWidget.o \ PaintableWidget.o \
PaletteWidget.o \ PaletteWidget.o \
@ -14,6 +12,8 @@ OBJS = \
PickerTool.o \ PickerTool.o \
main.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 = \ OBJS = \
PianoWidget.o \ PianoWidget.o \
main.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 = \ OBJS = \
QSWidget.o \ QSWidget.o \
main.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 = \ OBJS = \
PlaybackManager.o \ PlaybackManager.o \
SampleWidget.o \ SampleWidget.o \
SoundPlayerWidget.o \ SoundPlayerWidget.o \
main.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 = \ OBJS = \
main.o 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 = \ OBJS = \
ProcessModel.o \ ProcessModel.o \
DevicesModel.o \ DevicesModel.o \
@ -12,6 +10,8 @@ OBJS = \
NetworkStatisticsWidget.o \ NetworkStatisticsWidget.o \
main.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 = \ OBJS = \
TaskbarWindow.o \ TaskbarWindow.o \
TaskbarButton.o \ TaskbarButton.o \
WindowList.o \ WindowList.o \
main.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 = \ OBJS = \
main.o 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 = \ OBJS = \
TextEditorWidget.o \ 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 = \ OBJS = \
main.o \ main.o \
TextWidget.o \ TextWidget.o \
background.png.o background.png.o
APP = Welcome PROGRAM = Welcome
LDFLAGS = -lgui -ldraw -lipc -lcore -lc
.SUFFIXES: .png .SUFFIXES: .png
%.png.o: %.png %.png.o: %.png
@echo "LINK $<"; $(LINK) --relocatable --format binary --output $@ $< @echo "LINK $<"; $(LINK) --relocatable --format binary --output $@ $<
include ../Makefile.common include ../../Makefile.common

View file

@ -1,22 +1,8 @@
include ../../Makefile.common
OBJS = \ OBJS = \
Fire.o Fire.o
APP = Fire PROGRAM = Fire
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
include ../../Makefile.common

View file

@ -1,22 +1,8 @@
include ../../Makefile.common
OBJS = \ OBJS = \
main.o main.o
APP = HelloWorld PROGRAM = HelloWorld
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
include ../../Makefile.common

View file

@ -1,27 +1,13 @@
include ../../Makefile.common
OBJS = \ OBJS = \
main.o main.o
APP = HelloWorld2 PROGRAM = HelloWorld2
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
all: $(APP)
main.cpp: UI_HelloWorld2.h main.cpp: UI_HelloWorld2.h
UI_HelloWorld2.h: HelloWorld2.frm UI_HelloWorld2.h: HelloWorld2.frm
../../DevTools/FormCompiler/FormCompiler $< > $@ ../../DevTools/FormCompiler/FormCompiler $< > $@
$(APP): $(OBJS) include ../../Makefile.common
$(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

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 = \ OBJS = \
main.o main.o
APP = WidgetGallery PROGRAM = WidgetGallery
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
include ../../Makefile.common

View file

@ -1,3 +1,5 @@
HOST_CXX = 1
PROGRAM = FormCompiler PROGRAM = FormCompiler
OBJS = \ OBJS = \
@ -19,15 +21,4 @@ OBJS = \
../../Libraries/LibCore/CNotifier.o \ ../../Libraries/LibCore/CNotifier.o \
../../Libraries/LibCore/CEventLoop.o ../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM) include ../../Makefile.common
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)

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \ OBJS = \
Project.o \ Project.o \
ProjectFile.o \ ProjectFile.o \
@ -18,20 +16,8 @@ OBJS = \
WidgetTreeModel.o \ WidgetTreeModel.o \
main.o main.o
APP = HackStudio PROGRAM = HackStudio
DEFINES += -DUSERLAND LDFLAGS = -lvt -lhtml -lprotocol -lipc -lmarkdown -lgui -ldraw -lthread -lpthread -lcore -lc
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
include ../../Makefile.common

View file

@ -1,3 +1,5 @@
HOST_CXX = 1
PROGRAM = IPCCompiler PROGRAM = IPCCompiler
OBJS = \ OBJS = \
@ -19,15 +21,4 @@ OBJS = \
../../Libraries/LibCore/CLocalServer.o \ ../../Libraries/LibCore/CLocalServer.o \
../../Libraries/LibCore/CEventLoop.o ../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM) include ../../Makefile.common
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)

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \ OBJS = \
RemoteObjectGraphModel.o \ RemoteObjectGraphModel.o \
RemoteObjectPropertyModel.o \ RemoteObjectPropertyModel.o \
@ -7,20 +5,8 @@ OBJS = \
RemoteObject.o \ RemoteObject.o \
main.o main.o
APP = Inspector PROGRAM = Inspector
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
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 = \ OBJS = \
Profile.o \ Profile.o \
ProfileModel.o \ ProfileModel.o \
ProfileTimelineWidget.o \ ProfileTimelineWidget.o \
main.o main.o
APP = ProfileViewer PROGRAM = ProfileViewer
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
include ../../Makefile.common

View file

@ -1,5 +1,3 @@
include ../../Makefile.common
OBJS = \ OBJS = \
VBForm.o \ VBForm.o \
VBWidget.o \ VBWidget.o \
@ -9,20 +7,8 @@ OBJS = \
VBPropertiesWindow.o \ VBPropertiesWindow.o \
main.o main.o
APP = VisualBuilder PROGRAM = VisualBuilder
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
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 = \ OBJS = \
Field.o \ Field.o \
main.o main.o
APP = Minesweeper PROGRAM = Minesweeper
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
include ../../Makefile.common

View file

@ -1,23 +1,9 @@
include ../../Makefile.common
OBJS = \ OBJS = \
SnakeGame.o \ SnakeGame.o \
main.o main.o
APP = Snake PROGRAM = Snake
DEFINES += -DUSERLAND LDFLAGS = -lgui -ldraw -lipc -lcore -lc
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
include ../../Makefile.common

View file

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

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_OBJS = \
../../AK/StringImpl.o \ ../../AK/StringImpl.o \
../../AK/String.o \ ../../AK/String.o \
@ -57,30 +55,37 @@ LIBC_OBJS = \
serenity.o \ serenity.o \
syslog.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 LIBRARY = libc.a
DEFINES += -DUSERLAND -DSERENITY_LIBC_BUILD
all: $(LIBRARY) startfiles all: $(LIBRARY) startfiles
startfiles: $(ASM_OBJS) install:
@echo "CXX crt0.o"; $(CXX) $(CXXFLAGS) -o crt0.o -c crt0.cpp mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
cp crti.ao crti.o mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/bits/
cp crtn.ao crtn.o 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) include ../../Makefile.common
@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

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 = \ OBJS = \
CArgsParser.o \ CArgsParser.o \
CIODevice.o \ CIODevice.o \
@ -27,17 +25,10 @@ OBJS = \
CGzip.o CGzip.o
LIBRARY = libcore.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
CharacterBitmap.o \ CharacterBitmap.o \
Color.o \ Color.o \
@ -15,17 +13,10 @@ OBJS = \
Emoji.o Emoji.o
LIBRARY = libdraw.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
GPainter.o \ GPainter.o \
GButton.o \ GButton.o \
@ -64,17 +62,10 @@ OBJS = \
GWindow.o GWindow.o
LIBRARY = libgui.a 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) include ../../Makefile.common
@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

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 PROGRAM = Generate_CSS_PropertyID_cpp
OBJS = \ OBJS = \
Generate_CSS_PropertyID_cpp.o \ Generate_CSS_PropertyID_cpp.o \
$(SERENITY_ROOT)/AK/String.o \ ../../../../AK/String.o \
$(SERENITY_ROOT)/AK/StringImpl.o \ ../../../../AK/StringImpl.o \
$(SERENITY_ROOT)/AK/StringBuilder.o \ ../../../../AK/StringBuilder.o \
$(SERENITY_ROOT)/AK/StringView.o \ ../../../../AK/StringView.o \
$(SERENITY_ROOT)/AK/JsonValue.o \ ../../../../AK/JsonValue.o \
$(SERENITY_ROOT)/AK/JsonParser.o \ ../../../../AK/JsonParser.o \
$(SERENITY_ROOT)/AK/LogStream.o \ ../../../../AK/LogStream.o \
$(SERENITY_ROOT)/Libraries/LibCore/CIODevice.o \ ../../../../Libraries/LibCore/CIODevice.o \
$(SERENITY_ROOT)/Libraries/LibCore/CFile.o \ ../../../../Libraries/LibCore/CFile.o \
$(SERENITY_ROOT)/Libraries/LibCore/CObject.o \ ../../../../Libraries/LibCore/CObject.o \
$(SERENITY_ROOT)/Libraries/LibCore/CEvent.o \ ../../../../Libraries/LibCore/CEvent.o \
$(SERENITY_ROOT)/Libraries/LibCore/CSocket.o \ ../../../../Libraries/LibCore/CSocket.o \
$(SERENITY_ROOT)/Libraries/LibCore/CLocalSocket.o \ ../../../../Libraries/LibCore/CLocalSocket.o \
$(SERENITY_ROOT)/Libraries/LibCore/CNotifier.o \ ../../../../Libraries/LibCore/CNotifier.o \
$(SERENITY_ROOT)/Libraries/LibCore/CLocalServer.o \ ../../../../Libraries/LibCore/CLocalServer.o \
$(SERENITY_ROOT)/Libraries/LibCore/CEventLoop.o ../../../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM) include ../../../../Makefile.common
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)

View file

@ -1,33 +1,24 @@
HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_h PROGRAM = Generate_CSS_PropertyID_h
OBJS = \ OBJS = \
Generate_CSS_PropertyID_h.o \ Generate_CSS_PropertyID_h.o \
$(SERENITY_ROOT)/AK/String.o \ ../../../../AK/String.o \
$(SERENITY_ROOT)/AK/StringImpl.o \ ../../../../AK/StringImpl.o \
$(SERENITY_ROOT)/AK/StringBuilder.o \ ../../../../AK/StringBuilder.o \
$(SERENITY_ROOT)/AK/StringView.o \ ../../../../AK/StringView.o \
$(SERENITY_ROOT)/AK/JsonValue.o \ ../../../../AK/JsonValue.o \
$(SERENITY_ROOT)/AK/JsonParser.o \ ../../../../AK/JsonParser.o \
$(SERENITY_ROOT)/AK/LogStream.o \ ../../../../AK/LogStream.o \
$(SERENITY_ROOT)/Libraries/LibCore/CIODevice.o \ ../../../../Libraries/LibCore/CIODevice.o \
$(SERENITY_ROOT)/Libraries/LibCore/CFile.o \ ../../../../Libraries/LibCore/CFile.o \
$(SERENITY_ROOT)/Libraries/LibCore/CObject.o \ ../../../../Libraries/LibCore/CObject.o \
$(SERENITY_ROOT)/Libraries/LibCore/CEvent.o \ ../../../../Libraries/LibCore/CEvent.o \
$(SERENITY_ROOT)/Libraries/LibCore/CSocket.o \ ../../../../Libraries/LibCore/CSocket.o \
$(SERENITY_ROOT)/Libraries/LibCore/CLocalSocket.o \ ../../../../Libraries/LibCore/CLocalSocket.o \
$(SERENITY_ROOT)/Libraries/LibCore/CNotifier.o \ ../../../../Libraries/LibCore/CNotifier.o \
$(SERENITY_ROOT)/Libraries/LibCore/CLocalServer.o \ ../../../../Libraries/LibCore/CLocalServer.o \
$(SERENITY_ROOT)/Libraries/LibCore/CEventLoop.o ../../../../Libraries/LibCore/CEventLoop.o
all: $(PROGRAM) include ../../../../Makefile.common
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)

View file

@ -1,9 +1,3 @@
include ../../Makefile.common
LIBRARY = libhtml.a
all: $(LIBRARY)
LIBHTML_OBJS = \ LIBHTML_OBJS = \
CSS/DefaultStyleSheetSource.o \ CSS/DefaultStyleSheetSource.o \
CSS/PropertyID.o \ CSS/PropertyID.o \
@ -68,33 +62,32 @@ LIBHTML_OBJS = \
Parser/HTMLParser.o \ Parser/HTMLParser.o \
ResourceLoader.o ResourceLoader.o
GENERATED_SOURCES = \ EXTRA_SOURCES = \
CSS/DefaultStyleSheetSource.cpp \ CSS/DefaultStyleSheetSource.cpp \
CSS/PropertyID.h \ CSS/PropertyID.h \
CSS/PropertyID.cpp 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) OBJS = $(EXTRA_OBJS) $(LIBHTML_OBJS)
LIBRARY = libhtml.a LIBRARY = libhtml.a
DEFINES += -DUSERLAND
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh install:
@echo "GENERATE $@"; Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@ for dir in . Parser DOM CSS Layout; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibHTML/$$dir; \
CSS/PropertyID.h: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h.cpp cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibHTML/$$dir/; \
@echo "GENERATE $@"; CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h $< > $@ done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
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)
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 = \ OBJS = \
IEndpoint.o \ IEndpoint.o \
IMessage.o IMessage.o
LIBRARY = libipc.a 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) include ../../Makefile.common
@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

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 OBJS = math.o
LIBRARY = libm.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
MDDocument.o \ MDDocument.o \
MDParagraph.o \ MDParagraph.o \
MDHeading.o \ MDHeading.o \
MDCodeBlock.o \ MDCodeBlock.o \
MDList.o \ MDList.o \
MDText.o MDText.o
LIBRARY = libmarkdown.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
Database.o Database.o
LIBRARY = libpcidb.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
Download.o \ Download.o \
Client.o Client.o
LIBRARY = libprotocol.a LIBRARY = libprotocol.a
DEFINES += -DUSERLAND
all: $(LIBRARY) include ../../Makefile.common
$(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

View file

@ -1,19 +1,10 @@
include ../../Makefile.common
OBJS = pthread.o OBJS = pthread.o
LIBRARY = libpthread.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
Thread.o \ Thread.o \
BackgroundAction.o BackgroundAction.o
LIBRARY = libthread.a 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) include ../../Makefile.common
@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

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 = \ OBJS = \
Terminal.o \ Terminal.o \
TerminalWidget.o TerminalWidget.o
LIBRARY = libvt.a LIBRARY = libvt.a
DEFINES += -DUSERLAND
all: $(LIBRARY) include ../../Makefile.common
$(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

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))) MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SERENITY_BASE_DIR := $(patsubst %/,%,$(dir $(MAKEFILE_PATH))) SERENITY_BASE_DIR := $(patsubst %/,%,$(dir $(MAKEFILE_PATH)))
INCLUDE_FLAGS = \ INCLUDE_FLAGS += \
-I. \ -I. \
-I$(SERENITY_BASE_DIR)/DevTools \
-I$(SERENITY_BASE_DIR) \ -I$(SERENITY_BASE_DIR) \
-I$(SERENITY_BASE_DIR)/Libraries \ -I$(SERENITY_BASE_DIR)/Libraries \
-I$(SERENITY_BASE_DIR)/Libraries/LibC \ -I$(SERENITY_BASE_DIR)/Servers
-I$(SERENITY_BASE_DIR)/Servers \
-I$(SERENITY_BASE_DIR)/Libraries/LibM \
-I$(SERENITY_BASE_DIR)/Libraries/LibPthread
LDFLAGS = \ LDFLAGS += \
-L$(SERENITY_BASE_DIR)/Libraries/LibC \ -L$(SERENITY_BASE_DIR)/Libraries/LibC \
-L$(SERENITY_BASE_DIR)/Libraries/LibPthread \ -L$(SERENITY_BASE_DIR)/Libraries/LibPthread \
-L$(SERENITY_BASE_DIR)/Libraries/LibCore \ -L$(SERENITY_BASE_DIR)/Libraries/LibCore \
@ -31,15 +29,82 @@ LDFLAGS = \
-L$(SERENITY_BASE_DIR)/Libraries/LibProtocol \ -L$(SERENITY_BASE_DIR)/Libraries/LibProtocol \
-L$(SERENITY_BASE_DIR)/Libraries/LibAudio -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 #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) 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 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 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 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 OBJS = \
AUDIOSERVER_OBJS = \
main.o \ main.o \
ASMixer.o \ ASMixer.o \
ASClientConnection.o \ ASClientConnection.o \
ASEventLoop.o ASEventLoop.o
APP = AudioServer PROGRAM = AudioServer
OBJS = $(AUDIOSERVER_OBJS)
DEFINES += -DUSERLAND LDFLAGS = -lc -lcore -lipc -lthread -lpthread
all: $(APP) EXTRA_CLEAN = AudioServerEndpoint.h AudioClientEndpoint.h
*.cpp: AudioServerEndpoint.h AudioClientEndpoint.h *.cpp: AudioServerEndpoint.h AudioClientEndpoint.h
@ -21,14 +18,8 @@ AudioServerEndpoint.h: AudioServer.ipc
AudioClientEndpoint.h: AudioClient.ipc AudioClientEndpoint.h: AudioClient.ipc
@echo "IPC $<"; $(IPCCOMPILER) $< > $@ @echo "IPC $<"; $(IPCCOMPILER) $< > $@
$(APP): $(OBJS) install:
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc -lcore -lipc -lthread -lpthread mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/AudioServer/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/AudioServer/
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(APP) $(OBJS) *.d AudioServerEndpoint.h AudioClientEndpoint.h
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 OBJS = \
LOOKUPSERVER_OBJS = \
LookupServer.o \ LookupServer.o \
main.o main.o
APP = LookupServer PROGRAM = LookupServer
OBJS = $(LOOKUPSERVER_OBJS)
DEFINES += -DUSERLAND LDFLAGS = -lc -lcore
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
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 = \ OBJS = \
PSClientConnection.o \ PSClientConnection.o \
Protocol.o \ Protocol.o \
@ -8,11 +6,9 @@ OBJS = \
HttpDownload.o \ HttpDownload.o \
main.o main.o
APP = ProtocolServer PROGRAM = ProtocolServer
DEFINES += -DUSERLAND LDFLAGS = -lc -lcore -lipc
all: $(APP)
*.cpp: ProtocolServerEndpoint.h ProtocolClientEndpoint.h *.cpp: ProtocolServerEndpoint.h ProtocolClientEndpoint.h
@ -22,14 +18,4 @@ ProtocolServerEndpoint.h: ProtocolServer.ipc
ProtocolClientEndpoint.h: ProtocolClient.ipc ProtocolClientEndpoint.h: ProtocolClient.ipc
@echo "IPC $<"; $(IPCCOMPILER) $< > $@ @echo "IPC $<"; $(IPCCOMPILER) $< > $@
$(APP): $(OBJS) include ../../Makefile.common
$(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

View file

@ -1,24 +1,13 @@
include ../../Makefile.common OBJS = \
SYSTEMSERVER_OBJS = \
Service.o \ Service.o \
main.o main.o
APP = SystemServer PROGRAM = SystemServer
OBJS = $(SYSTEMSERVER_OBJS)
DEFINES += -DUSERLAND LDFLAGS = -lcore -lc
all: $(APP) install:
mkdir -p ../../Root/usr/include/SystemServer/
$(APP): $(OBJS) cp *.h ../../Root/usr/include/SystemServer/
$(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
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 OBJS = \
TTYSERVER_OBJS = \
main.o main.o
APP = TTYServer PROGRAM = 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
include ../../Makefile.common

View file

@ -1,25 +1,10 @@
include ../../Makefile.common OBJS = \
ECHOSERVER_OBJS = \
Client.o \ Client.o \
Parser.o \ Parser.o \
main.o main.o
APP = TelnetServer PROGRAM = TelnetServer
OBJS = $(ECHOSERVER_OBJS)
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
include ../../Makefile.common

View file

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

View file

@ -1,28 +1,18 @@
include ../Makefile.common
SRCS = $(wildcard *.cpp) SRCS = $(wildcard *.cpp)
OBJS = ${SRCS:.cpp=.o} OBJS = ${SRCS:.cpp=.o}
APPS = ${SRCS:.cpp=} 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) all: $(OBJS) $(APPS)
list: list:
@echo $(APPS) @echo $(APPS)
clean: $(APPS): %: %.o $(OBJS)
@echo "CLEAN" @echo "LINK $@"
@rm -f $(APPS) $(OBJS) *.d $(QUIET) $(CXX) -o $@ $< $(LDFLAGS)
$(APPS) : % : %.o $(OBJS) include ../Makefile.common
@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)