# Kernel Sources (compiled with -ffreestanding)
K_OBJ := lib.o adt.o
K_OBJ += vfs/acls.o vfs/io.o vfs/fs/devfs.o
-#K_OBJ += vfs/main.o vfs/open.o vfs/io.o vfs/dir.o
-#K_OBJ += vfs/nodecache.o vfs/mount.o vfs/memfile.o # vfs/select.o
-#K_OBJ += vfs/fs/root.o vfs/fs/devfs.o
-#K_OBJ += drvutil_disk.o drv/proc.o
# Modules
MODULES := IPStack
# Local kernel soruces (same as above, but located in same directory as Makefile)
-L_OBJ = vfs_shim.o nic.o tcpclient.o tcpserver.o
+L_OBJ = vfs_shim.o nic.o tcpclient.o tcpserver.o helpers.o cmdline_backend.o
# Native Sources (compiled as usual)
-N_OBJ = main.o tap.o
+N_OBJ = main.o tap.o mode_cmdline.o
# Compilation Options
-CFLAGS := -Wall -std=gnu99 -g -Werror
+CFLAGS := -Wall -std=gnu99 -g -O0 -pthread
CPPFLAGS := -I include/ -I ../nativelib/include
-K_CPPFLAGS := -I $(KERNEL_SRC)include -I $(MODULE_SRC)
-LDFLAGS += -Wl,--defsym,__buildnum=$(BUILD_NUM) -g -L .. -lnativelib
+K_CPPFLAGS := -I $(KERNEL_SRC)include -I $(MODULE_SRC) -I ../../Usermode/Libraries/ld-acess.so_src/include_exp/
+LDFLAGS += -Wl,--defsym,__buildnum=$(BUILD_NUM) -g -L .. -lpthread -lnativelib
BUILDINFO_OBJ := obj/$(TARGET)/buildinfo.o
BUILDINFO_SRC := $(BUILDINFO_OBJ:%.o=%.c)
clean:
$(RM) -f $(OBJ) $(DEPFILES) $(BIN)
-$(BIN): $(OBJ)
+$(BIN): $(OBJ) ../libnativelib.a
@echo [CC Link] -o $(BIN)
@$(CC) -o $(BIN) $(OBJ) $(LDFLAGS)
@echo BUILD_NUM = $$(( $(BUILD_NUM) + 1 )) > Makefile.BuildNum
+ @objdump -S $(BIN) > $(BIN).dsm
$(M_OBJ): $(M_OBJ_PREFIX)%.o: $(MODULE_SRC)%.c
@mkdir -p $(dir $@)