Fixed up ivy annotations on the new structure supporting page_coloring.
[akaros.git] / user / parlib / src / Makefrag
index 63a203b..4e8864c 100644 (file)
@@ -1,28 +1,40 @@
 USER_PARLIB_SRC_DIR = $(USER_PARLIB_DIR)/src
 OBJDIRS += $(USER_PARLIB_SRC_DIR)
 
-USER_PARLIB_SRC_CFLAGS   := $(USER_CFLAGS) --nopatch \
+PATCHFILE = $(OBJDIR)/$(USER_PARLIB_DIR)/libc_patch.i
+
+USER_PARLIB_SRC_CFLAGS   := $(USER_CFLAGS) --nopatch --patch=$(PATCHFILE)\
                             -I$(USER_PARLIB_DIR)/inc \
                             -I$(USER_PARLIB_NEWLIB_DIR)/include
 
-USER_PARLIB_SRC_SRCFILES := $(USER_PARLIB_SRC_DIR)/newlib_backend.c \
+USER_PARLIB_SRC_SRCFILES := $(USER_PARLIB_SRC_DIR)/debug.c \
+                            $(USER_PARLIB_SRC_DIR)/debugfmt.c \
                             $(USER_PARLIB_SRC_DIR)/syscall.c \
                             $(USER_PARLIB_SRC_DIR)/parlibmain.c \
-                            $(USER_PARLIB_SRC_DIR)/entry.S  
+                            $(USER_PARLIB_SRC_DIR)/channel.c \
+                            $(USER_PARLIB_ARCH_SRCFILES)
 
 USER_PARLIB_SRC_OBJFILES := $(patsubst $(USER_PARLIB_SRC_DIR)/%.c, \
-                            $(OBJDIR)/$(USER_PARLIB_DIR)/%.o, \
+                            $(OBJDIR)/$(USER_PARLIB_SRC_DIR)/%.o, \
                             $(USER_PARLIB_SRC_SRCFILES))
 USER_PARLIB_SRC_OBJFILES := $(patsubst $(USER_PARLIB_SRC_DIR)/%.S, \
-                            $(OBJDIR)/$(USER_PARLIB_DIR)/%.o, \
+                            $(OBJDIR)/$(USER_PARLIB_SRC_DIR)/%.o, \
                             $(USER_PARLIB_SRC_OBJFILES))
 
-$(OBJDIR)/$(USER_PARLIB_DIR)/%.o: $(USER_PARLIB_SRC_DIR)/%.c
+ANNOTS := $(shell dirname $(shell which ivycc))
+ANNOTS := $(ANNOTS)/../lib/ivy/include/deputy/annots.h
+
+$(PATCHFILE): $(USER_PARLIB_DIR)/inc/libc_patch.h
+       @echo + cpp [PARLIB] $^
+       @mkdir -p $(@D)
+       $(V)gcc -E -include $(ANNOTS) -o $@ $^
+
+$(OBJDIR)/$(USER_PARLIB_SRC_DIR)/%.o: $(USER_PARLIB_SRC_DIR)/%.c $(PATCHFILE)
        @echo + cc [PARLIB] $<
        @mkdir -p $(@D)
        $(V)$(CC) $(USER_PARLIB_SRC_CFLAGS) -c -o $@ $<
 
-$(OBJDIR)/$(USER_PARLIB_DIR)/%.o: $(USER_PARLIB_SRC_DIR)/%.S
+$(OBJDIR)/$(USER_PARLIB_SRC_DIR)/%.o: $(USER_PARLIB_SRC_DIR)/%.S
        @echo + as [PARLIB] $<
        @mkdir -p $(@D)
        $(V)$(CC) $(USER_PARLIB_SRC_CFLAGS) -c -o $@ $<