36 lines
959 B
Plaintext
36 lines
959 B
Plaintext
OBJDIRS += user
|
|
|
|
USER_LIBSRCS:= lib/printfmt.c \
|
|
lib/string.c \
|
|
lib/user/assert.c \
|
|
lib/user/astart.asm \
|
|
lib/user/stdio.c \
|
|
lib/user/syscall.c \
|
|
|
|
USER_LIBOBJS := $(patsubst %.c, $(OBJDIR)/%.o, $(USER_LIBSRCS))
|
|
USER_LIBOBJS := $(patsubst %.asm, $(OBJDIR)/%.o, $(USER_LIBOBJS))
|
|
|
|
USER_SRCS := user/testfork.c \
|
|
user/testwait.c \
|
|
user/shell.c \
|
|
user/initproc.c \
|
|
user/forkbomb.c \
|
|
user/firework.bin \
|
|
|
|
USER_OBJS := $(patsubst %.c, $(OBJDIR)/%.o, $(USER_SRCS))
|
|
|
|
USER_BINS := $(patsubst %.bin, $(OBJDIR)/%.bin, $(USER_SRCS))
|
|
USER_BINS := $(patsubst %.c, $(OBJDIR)/%.bin, $(USER_BINS))
|
|
|
|
$(OBJDIR)/user/%.o: user/%.c $(OBJDIR)/.vars.CFLAGS
|
|
@echo + cc $<
|
|
@mkdir -p $(@D)
|
|
@$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJDIR)/user/firework.bin: lib/user/firework.bin
|
|
@mkdir -p $(@D)
|
|
@cp $< $(@D)
|
|
|
|
$(OBJDIR)/user/%.bin: $(OBJDIR)/user/%.o $(USER_LIBOBJS) $(OBJDIR)/.vars.LDFLAGS
|
|
@echo + ld $@
|
|
@$(LD) $(LDFLAGS) -o $@ $< $(USER_LIBOBJS) $(GCC_LIB) |