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