Fix plugin target
parent
73471f4fb7
commit
fd234aeb2f
5
Makefile
5
Makefile
|
@ -3,5 +3,6 @@ all: dungeon plugins
|
|||
dungeon: dungeon.c
|
||||
cc -g -o dungeon dungeon.c -ldl -D_GNU_SOURCE
|
||||
|
||||
plugins:
|
||||
make -f plugins/*/Makefile
|
||||
include plugins/*/Makefile
|
||||
|
||||
plugins: ${PLUGINS}
|
||||
|
|
|
@ -6,7 +6,7 @@ You might want to include the game.h file from plugins/game/game.h. Have a look
|
|||
|
||||
Controls: WASD to move, Q to quit.
|
||||
|
||||
To build the loader and the plugins in the plugins/ folder, simply type `make` or `make all`. There are separate targets for the loader (`dungeon`) and the plugins. The plugins target simply triggerst all Makefiles that are placed in plugin directories, so you might want to include a makefile in your plugin.
|
||||
To build the loader and the plugins in the plugins/ folder, simply type `make` or `make all`. There are separate targets for the loader (`dungeon`) and the plugins. All Makefiles that are placed in plugin directories, so you might want to include a makefile in your plugin. The plugins target simply depends on ${PLUGINS}, so just add things to this in your plugin Makefile to add them to the plugins target (usually your plugin.so)
|
||||
To run the loader, type `./dungeon`. It will load all plugins including the game itself dynamically and run the game.
|
||||
|
||||
Plugins are loaded in alphabethical order, with the exception of the game plugin that is loaded first. If you want to make a plugin that depends on another plugin, make sure the other plugin is loaded first by setting the name of your plugin accordingly. A cleaner solution to this is coming soon.
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
apple.so: apple.c ../game/game.h
|
||||
cc -g -shared -fpic -o apple.so apple.c
|
||||
plugins/apple/apple.so: plugins/apple/apple.c plugins/game/game.h
|
||||
cc -g -shared -fpic -o plugins/apple/apple.so plugins/apple/apple.c
|
||||
|
||||
PLUGINS := ${PLUGINS} plugins/apple/apple.so
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include "dungeon.h"
|
||||
#include "../game/game.h"
|
||||
|
||||
static struct entity apple;
|
||||
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
game.so: game.c game.h
|
||||
cc -g -shared -fpic -o game.so game.c -lm -lpthread
|
||||
plugins/game/game.so: plugins/game/game.c plugins/game/game.h
|
||||
cc -g -shared -fpic -o plugins/game/game.so plugins/game/game.c -lm -lpthread
|
||||
|
||||
PLUGINS := ${PLUGINS} plugins/game/game.so
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include <sys/ioctl.h>
|
||||
#include <math.h>
|
||||
#include <pthread.h>
|
||||
#include "dungeon.h"
|
||||
#include "game.h"
|
||||
|
||||
bool running = true;
|
||||
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
monster.so: monster.c ../game/game.h
|
||||
cc -g -shared -fpic -o monster.so monster.c
|
||||
plugins/monster/monster.so: plugins/monster/monster.c plugins/game/game.h
|
||||
cc -g -shared -fpic -o plugins/monster/monster.so plugins/monster/monster.c
|
||||
|
||||
PLUGINS := ${PLUGINS} plugins/monster/monster.so
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include "dungeon.h"
|
||||
#include "../game/game.h"
|
||||
|
||||
static struct entity monster;
|
||||
|
||||
|
|
Loading…
Reference in New Issue