## SPDX-License-Identifier: GPL-2.0-only
# Makefile for msrtool
#

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