#!/bin/bash

ignore="
cs20202
cs20204
cs20215
"

headercontent="
#ifndef %s_h_
#define %s_h_

#include <common.h>

char *%s_name();

void %s_game();

#endif
"
srccontent="
#include <%s.h>
#include <stdlib.h>

static char name[] = \"%s\";

void %s_game()
{
  addstr(\"%s\");
  getch();
}

char *%s_name()
{
  return name;
}
"
makecontent="
CC = gcc
CFLAGS = -I. -I..
CLIBS = -lncurses
TARGET = lib%s.a
OBJS = %s.o

\$(TARGET): \$(OBJS)
\tar rcs \$(TARGET) \$^

clean:
\trm -f \$(TARGET) \$(OBJS)
"

for student in cs202{00..21}; do
    s=$(echo "$ignore" | grep "$student")
    if ! [[ -z $(echo "$ignore" | grep "$student") ]]; then
        continue
    fi
    dir="$student"
    srcfile="$student.c"
    headerfile="$student.h"

    mkdir -p "$dir"

    headerout=$(echo "$headercontent" | sed "s/%s/$student/g")
    srcout=$(echo "$srccontent" | sed "s/%s/$student/g")
    makeout=$(echo "$makecontent" | sed "s/%s/$student/g")
    echo "$headerout" > "$dir/$headerfile"
    echo "$srcout" > "$dir/$srcfile"
    echo -e "$makeout" > "$dir/Makefile"
done