We consider the single-machine scheduling problem with job-dependent machine deterioration. In the problem, we are given a single machine with an initial nonnegative maintenance level, and a set of jobs each with a non-preemptive processing time and a machine deterioration. Such a machine deterioration quantifies the decrement in the machine maintenance level after processing the job. To avoid a machine breakdown, one should guarantee a nonnegative maintenance level at any time point, and whenever necessary, a maintenance activity must be allocated for restoring the machine maintenance level. The goal of the problem is to schedule the jobs and the maintenance activities such that the total completion time of jobs is minimized. There are two variants of maintenance activities: In the partial maintenance case, each activity can be allocated to increase the machine maintenance level to any level not exceeding the maximum; in the full maintenance case, every activity must be allocated to increase the machine maintenance level to the maximum. In a recent work, the problem in the full maintenance case was proven NP-hard; several special cases of the problem in the partial maintenance case were shown to be solvable in polynomial time, but the complexity of the general problem was left open. In this paper we first prove that the problem in the partial maintenance case is binary NP-hard, thus settling the open problem; we then design a 2-approximation algorithm and a branch-and-bound exact search algorithm. Computational experiments are conducted for the two algorithms to examine their practical performance.