• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023 Institute of Parallel And Distributed Systems (IPADS), Shanghai Jiao Tong University (SJTU)
2# Licensed under the Mulan PSL v2.
3# You can use this software according to the terms and conditions of the Mulan PSL v2.
4# You may obtain a copy of Mulan PSL v2 at:
5#     http://license.coscl.org.cn/MulanPSL2
6# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
7# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
8# PURPOSE.
9# See the Mulan PSL v2 for more details.
10
11CFLAGS := $(DEFAULT_USER_CFLAGS) -Iinclude -I$(SERVER_DIR)/fs_base
12LIBS := fs_base
13LDFLAGS := $(DEFAULT_STATIC_USER_LDFLAGS) -pie -L$(SERVER_DIR)/fs_base $(addprefix -l,$(LIBS))
14SRCS := $(wildcard *.c)
15SRCS += incbin_ramdisk.S
16OBJS := $(SRCS:%=%.o)
17DEPS := $(OBJS:.o=.d)
18
19.PHONY: ramdisk.cpio
20ramdisk.cpio:
21	$(Q)rm -rf ramdisk-dir
22	$(Q)cp -r $(ROOT_DIR)/ramdisk-dir .
23	$(Q)cd ramdisk-dir && find . ! -name ramdisk.cpio | cpio -o -H newc > ../$@
24
25incbin_ramdisk.S: incbin_ramdisk.tpl.S ramdisk.cpio
26	$(Q)sed 's/$${binary_path}/ramdisk.cpio/g' $< > $@
27
28tmpfs.srv: $(OBJS)
29	$(Q)$(CC) $(LDFLAGS) $^ -o $@
30
31clean:
32	$(Q)rm -rf $(OBJS) $(DEPS) tmpfs.srv ramdisk.cpio incbin_ramdisk.S ramdisk-dir
33
34-include $(DEPS)
35
36$(OBJS): %.o: %
37	$(Q)$(CC) $(CFLAGS) -c $< -o $@ -MMD
38