# Makefile for msrtool
#
# This file is part of msrtool.
#
# Copyright (c) 2008 Peter Stuge <peter@stuge.se>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#

PROGRAM = msrtool

CC      = @CC@
INSTALL = @INSTALL@
PREFIX  = @PREFIX@
CFLAGS  = @CFLAGS@
LDFLAGS = @LDFLAGS@

TARGETS = geodegx2.o geodelx.o cs5536.o k8.o via_c7.o intel_pentium3_early.o intel_pentium3.o intel_pentium4_early.o intel_pentium4_later.o intel_pentium_d.o intel_core1.o intel_core2_early.o intel_core2_later.o intel_nehalem.o intel_atom.o
SYSTEMS = linux.o darwin.o freebsd.o
OBJS    = $(PROGRAM).o msrutils.o sys.o $(SYSTEMS) $(TARGETS)

all: $(PROGRAM)

$(PROGRAM): $(OBJS) Makefile.deps
	$(CC) -o $@ $(OBJS) $(LDFLAGS)

$(PROGRAM).o: $(PROGRAM).c
	$(CC) $(CFLAGS) -DVERSION='"@VERSION@"' -c $< -o $@

install: $(PROGRAM)
	mkdir -p $(DESTDIR)$(PREFIX)/sbin
	$(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin

distprep: distclean Makefile.deps

clean:
	rm -f $(PROGRAM) $(OBJS)

distclean: clean
	rm -f Makefile

mrproper: distclean
	rm -f Makefile.deps

dep:
	rm -f Makefile.deps
	$(MAKE) Makefile.deps

Makefile.deps: $(patsubst %.o,%.c,$(OBJS))
	$(CC) -MM $^ > $@

.PHONY: all distprep clean distclean mrproper dep

-include Makefile.deps
