2019-03-20 14:16:33 +00:00
# -*- Makefile -*-
2021-04-23 20:55:17 +00:00
2021-04-20 14:09:41 +00:00
#-O3 --std=c99 -lcurses -DNO_MOUSE for NetBSD curses
#adding --std=c99 makes warnings in GNU, and the blame is upon glibc feature test macros. my code is correct.
2022-04-06 14:41:18 +00:00
GAMES_DIR ?= $( PREFIX) /usr/bin
SCORES_DIR ?= $( PREFIX) /var/games
MAN_DIR ?= $( PREFIX) /usr/share/man/man6
CFLAGS += -Wno-unused-result -DSCORES_DIR= \" $( SCORES_DIR) \"
2022-03-31 03:48:05 +00:00
LIBS_PKG_CONFIG != pkg-config --libs --cflags ncurses
LIBS = $( LIBS_PKG_CONFIG) -lm
2021-04-29 23:05:16 +00:00
2022-11-16 14:05:20 +00:00
ALL = nbsdgames jewels sudoku mines reversi checkers battleship rabbithole sos pipes fifteen memoblocks fisher muncher miketron redsquare darrt snakeduel tugow revenge trsr sjump
SCORE_FILES = pipes_scores jewels_scores miketron_scores muncher_scores fisher_scores darrt_scores tugow_scores revenge_scores sjump_scores
2022-08-04 07:49:46 +00:00
SRC != echo *.c *.h
2022-03-31 03:00:41 +00:00
all : $( ALL )
2021-04-29 23:05:16 +00:00
2020-06-20 16:26:54 +00:00
scorefiles :
2022-04-06 14:41:18 +00:00
for sf in $( SCORE_FILES) ; do touch $( DESTDIR) $( SCORES_DIR) /$$ sf ; chmod 664 $( DESTDIR) $( SCORES_DIR) /$$ sf; chown :games $( DESTDIR) $( SCORES_DIR) /$$ sf ; done ;
for game in $( ALL) ; do chown :games $( DESTDIR) $( GAMES_DIR) /$$ game; chmod g $( DESTDIR) $( GAMES_DIR) /$$ game ; done ;
2021-04-29 23:05:16 +00:00
2021-05-03 22:03:52 +00:00
manpages :
2022-04-06 14:41:18 +00:00
cp man/* $( DESTDIR) $( MAN_DIR)
2022-03-31 03:45:14 +00:00
2022-08-04 07:49:46 +00:00
$(ALL) : $( SRC ) config .h common .h
$( CC) $( CFLAGS) $@ .c $( LDFLAGS) $( LIBS) -o $@
2022-03-31 03:45:14 +00:00
2022-02-01 22:25:05 +00:00
menu :
2022-03-31 03:13:38 +00:00
cp nbsdgames.desktop $( DESTIDR) $( PREFIX) /usr/share/applications
cp nbsdgames.svg $( DESTDIR) $( PREFIX) /usr/share/pixmaps
2019-03-20 14:16:33 +00:00
clean :
2021-08-06 06:27:54 +00:00
for game in $( ALL) ; do rm $$ game; done ;
2019-03-20 14:16:33 +00:00
uninstall :
2022-04-06 14:41:18 +00:00
for game in $( ALL) ; do rm $( GAMES_DIR) /$$ game; rm $( MAN_DIR) /$$ game.6.gz ; done ;
2021-04-29 23:05:16 +00:00
install : $( ALL )
2022-04-06 14:41:18 +00:00
cp $( ALL) $( DESTDIR) /$( GAMES_DIR)
2021-08-20 12:40:45 +00:00
test :
for game in $( ALL) ; do ./$$ game ; done ;
2021-08-06 06:27:54 +00:00
#######for namespacing #######
2022-02-01 22:25:05 +00:00
nb :
2022-03-31 03:14:34 +00:00
CFLAGS = " $$ CFLAGS -D NB=\\\"nb\\\" " $( MAKE)
2022-02-01 22:25:05 +00:00
for game in $( ALL) ; do cp $$ game nb$$ game ; done ;
for manpage in $( ls man) ; do cp man/$$ manpage man/nb$$ manpage ; done ;
2021-08-06 06:27:54 +00:00
nbinstall : nb
2022-04-10 06:33:18 +00:00
for game in $( ALL) ; do cp nb$$ game $( DESTDIR) /$( GAMES_DIR) ; done ;
2022-04-14 06:57:23 +00:00
cp nbsdgames $( DESTDIR) /$( GAMES_DIR)
2022-04-15 04:26:34 +00:00
rm $( DESTDIR) /$( GAMES_DIR) /nbnbsdgames
2021-08-06 06:27:54 +00:00
nbmanpages : nb
2022-04-06 14:41:18 +00:00
cp man/nb* $( DESTDIR) /$( MAN_DIR)
2022-04-10 06:33:18 +00:00
nbclean : clean
for game in $( ALL) ; do rm nb$$ game ; done ;