#ifdef DEBUG_LOG
#define dprintf(...) printf(__VA_ARGS__)
#else
#define dprintf(...) ((void)0)
#endif

# -*- makefile -*-

os.dsk: DEFINES = -DUSERPROG -DFILESYS -DVM -DDEBUG_LOG
KERNEL_SUBDIRS = threads tests/threads tests/threads/mlfqs
KERNEL_SUBDIRS += devices lib lib/kernel userprog filesys vm
TEST_SUBDIRS = tests/userprog tests/vm tests/filesys/base tests/threads
# Grading for extra
TEST_SUBDIRS += tests/vm/cow
GRADING_FILE = $(SRCDIR)/tests/vm/Grading

#!/bin/bash

if [ $# -eq 0 ]; then
  make -j
elif [ $# -eq 1 ]; then
  if [ "$1" = "wsl" ]; then
    mv Make.vars Make.vars.old
    cp Make.vars.wsl Make.vars
    make -j
    rm Make.vars
    mv Make.vars.old Make.vars
  elif [ "$1" = "debug" ]; then
    mv Make.vars Make.vars.old
    cp Make.vars.debug Make.vars
    make -j
    rm Make.vars
    mv Make.vars.old Make.vars
  else
    echo "Usage: $0 [wsl|debug|wsl debug]"
    exit 1
  fi
elif [ $# -eq 2 ]; then
  if { [ "$1" = "wsl" ] && [ "$2" = "debug" ]; } || { [ "$1" = "debug" ] && [ "$2" = "wsl" ]; }; then
    mv Make.vars Make.vars.old
    cp Make.vars.wsl-debug Make.vars
    make -j
    rm Make.vars
    mv Make.vars.old Make.vars
  else
    echo "Usage: $0 [wsl|debug|wsl debug]"
    exit 1
  fi
else
  echo "Usage: $0 [wsl|debug|wsl debug]"
  exit 1
fi

dprintf("log message");