Fixes bug with run_current_uthread()
[akaros.git] / user / parlib / Makefile
index 2a5f819..cba5b46 100644 (file)
@@ -1,5 +1,5 @@
-TARGET_ARCH ?= i686
-CFLAGS = -O2 -std=gnu99 -static -fomit-frame-pointer 
+TARGET_ARCH ?= none    # catch bugs
+CFLAGS = -O2 -std=gnu99 -static -fomit-frame-pointer -g
 LIBNAME = parlib
 V ?= @
 
@@ -19,10 +19,17 @@ uc = $(shell echo $(1) | tr a-z A-Z)
 LIBUCNAME := $(call uc, $(LIBNAME))
 HEADERS := $(shell find $(INCDIR) -name *.h)
 CFILES  := $(wildcard $(SRCDIR)*.c)
-OBJS    := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES))
+SFILES  := $(wildcard $(SRCDIR)$(TARGET_ARCH)/*.S)
+OBJS    := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES)) \
+           $(patsubst %.S, $(OBJDIR)/%.o, $(SFILES))
 
 all: $(FINALLIB)
 
+$(OBJDIR)/$(TARGET_ARCH)/%.o: $(SRCDIR)$(TARGET_ARCH)/%.S $(HEADERS)
+       @echo + as [$(LIBUCNAME)] $<
+       @mkdir -p $(@D)
+       $(V)$(CC) $(CFLAGS) $(INCS) -o $@ -c $<
+
 $(OBJDIR)/%.o: $(SRCDIR)%.c $(HEADERS)
        @echo + cc [$(LIBUCNAME)] $<
        @mkdir -p $(@D)