apps: Add support for C++ apps alongside C ones
This commit is contained in:
parent
b6f2b41f1f
commit
d1dea3f1d6
@ -1,24 +1,32 @@
|
|||||||
APPS := init sh uname uptime hello ps ls args cat stat su session date mkdir screen
|
C_APPS := init sh uname uptime hello ps ls args cat stat su session date mkdir screen
|
||||||
|
CXX_APPS := hello-cpp
|
||||||
|
|
||||||
APPS_DIR := $(LUNA_ROOT)/apps
|
APPS_DIR := $(LUNA_ROOT)/apps
|
||||||
APPS_SRC := $(APPS_DIR)/src
|
APPS_SRC := $(APPS_DIR)/src
|
||||||
APPS_BIN := $(APPS_DIR)/bin
|
APPS_BIN := $(APPS_DIR)/bin
|
||||||
|
|
||||||
REAL_APPS := $(patsubst %, $(APPS_BIN)/%, $(APPS))
|
C_APPS_PATH := $(patsubst %, $(APPS_BIN)/%, $(C_APPS))
|
||||||
|
CXX_APPS_PATH := $(patsubst %, $(APPS_BIN)/%, $(CXX_APPS))
|
||||||
|
|
||||||
CFLAGS := -Wall -Wextra -Werror -Os -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -Wl,--gc-sections
|
CFLAGS := -Wall -Wextra -Werror -Os -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -Wl,--gc-sections
|
||||||
|
CXXFLAGS := -fno-exceptions
|
||||||
|
|
||||||
$(APPS_BIN)/%: $(APPS_SRC)/%.c
|
$(APPS_BIN)/%: $(APPS_SRC)/%.c
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
@$(CC) $(CFLAGS) -o $@ $^
|
@$(CC) $(CFLAGS) -o $@ $^
|
||||||
@echo " CC $^"
|
@echo " CC $^"
|
||||||
|
|
||||||
build: $(REAL_APPS)
|
$(APPS_BIN)/%: $(APPS_SRC)/%.cpp
|
||||||
|
@mkdir -p $(@D)
|
||||||
|
@$(CXX) $(CFLAGS) $(CXXFLAGS) -o $@ $^
|
||||||
|
@echo " CXX $^"
|
||||||
|
|
||||||
install: $(REAL_APPS)
|
build: $(C_APPS_PATH) $(CXX_APPS_PATH)
|
||||||
|
|
||||||
|
install: $(C_APPS_PATH) $(CXX_APPS_PATH)
|
||||||
@mkdir -p $(LUNA_ROOT)/initrd/bin
|
@mkdir -p $(LUNA_ROOT)/initrd/bin
|
||||||
@cp $(REAL_APPS) $(LUNA_ROOT)/initrd/bin
|
@cp $(C_APPS_PATH) $(CXX_APPS_PATH) $(LUNA_ROOT)/initrd/bin
|
||||||
@echo " INSTALL $(REAL_APPS)"
|
@echo " INSTALL $(C_APPS_PATH) $(CXX_APPS_PATH)"
|
||||||
@chmod a+s $(LUNA_ROOT)/initrd/bin/su
|
@chmod a+s $(LUNA_ROOT)/initrd/bin/su
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
6
apps/src/hello-cpp.cpp
Normal file
6
apps/src/hello-cpp.cpp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
printf("Well hello world!\n");
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user