aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Linskey2026-06-08 16:11:41 -0400
committerBenjamin Linskey2026-06-08 17:01:22 -0400
commit02f00eda40a9ab0f432433f5719b19bfd26c67d3 (patch)
tree0a3565a2eff56b5144a8b839fc561ac389ebfc9d
parentd6dc193878eb0aed4e30fe5011559be949263557 (diff)
downloadrogue-02f00eda40a9ab0f432433f5719b19bfd26c67d3.tar.gz

Improve makefile and compilation flags

Reformatted makefile, removed unneeded macros, made makefile adhere to POSIX standard, and added compiler standard, optimization, and warning flags.

-rw-r--r--Makefile42
1 files changed, 20 insertions, 22 deletions
diff --git a/Makefile b/Makefile
index 8ab5966..dcd1e81 100644
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,30 @@
# $NetBSD: Makefile,v 1.22 2023/06/03 09:09:09 lukem Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
-PROG= rogue
-PREFIX= /usr/local
-BIN_DIR:=$(PREFIX)/bin
-CPPFLAGS+=-DUNIX -DUNIX_SYSV
-SRCS= hit.c init.c inventory.c level.c machdep.c main.c \
- message.c monster.c move.c object.c pack.c play.c random.c ring.c \
- room.c save.c score.c spec_hit.c throw.c trap.c use.c zap.c \
- pathnames.c
-OBJS= hit.o init.o inventory.o level.o machdep.o main.o \
- message.o monster.o move.o object.o pack.o play.o random.o ring.o \
- room.o save.o score.o spec_hit.o throw.o trap.o use.o zap.o \
- pathnames.o
-HEADERS=rogue.h pathnames.h
-DPADD= ${LIBCURSES} ${LIBTERMINFO}
-LDADD= -lcurses -lterminfo
-MAN= rogue.6
-
-SUBDIR.roff+=USD.doc
-
-COPTS.score.c+= ${CC_WNO_FORMAT_TRUNCATION}
+.POSIX:
+
+PROG = rogue
+PREFIX = /usr/local
+BIN_DIR = $(PREFIX)/bin
+MAN = rogue.6
+
+CC = cc
+CFLAGS = -std=c99 -O2 -Wall -Wextra -Wpedantic
+CPPFLAGS = -DUNIX -DUNIX_SYSV
+LDLIBS = -lcurses
+
+SRCS != find . -name '*.c' -exec basename {} +
+OBJS != echo $(SRCS) | awk '{gsub(/\.c/, ".o"); print}'
+HEADERS != find . -name '*.h' -exec basename {} +
$(PROG): $(OBJS)
- cc -o $@ -lcurses $(OBJS)
+ cc -o $@ $(LDLIBS) $(OBJS)
$(OBJS): $(HEADERS)
+.c.o:
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
+
.PHONY: install
install: $(PROG)
chmod 755 $(PROG)
@@ -41,4 +39,4 @@ clean:
rm -f $(PROG) $(OBJS) tags
tags:
- ctags -d *.c *.h
+ ctags -d $(SRCS) $(HEADERS)