From 7981a2b8d152e6372aea8191f8c2197f866a450b Mon Sep 17 00:00:00 2001 From: Joshua Grams Date: Tue, 11 Apr 2006 11:08:37 +0000 Subject: [PATCH 1/1] more changes for windows --- Makefile | 2 +- Makefile.win | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ args.c | 9 ++++++++ args.h | 2 ++ main.c | 6 +++++- 5 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 Makefile.win diff --git a/Makefile b/Makefile index 3d5716c..6c0356a 100644 --- a/Makefile +++ b/Makefile @@ -85,7 +85,7 @@ sprite.o: sprite.h common.h vor: $(objects) @echo linking $@ from $^ - @$(CC) $(ldflags) -o $@ $^ $(LIBRARIES) + @$(CC) $(ldflags) -o $@ $^ include gfx.mk diff --git a/Makefile.win b/Makefile.win new file mode 100644 index 0000000..92af68b --- /dev/null +++ b/Makefile.win @@ -0,0 +1,68 @@ +# Variations on Rockdodger +# Copyright (C) 2004 Joshua Grams + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# 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. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +LDFLAGS := -mwindows -lmingw32 -lSDLmain -lSDL -lSDL_image -lSDL_mixer +CFLAGS := -Wall -O3 + +my_objects := args.o dust.o file.o mt.o rocks.o score.o sprite.o sound.o +my_objects += main.o +libs := SFont.o +objects := $(libs) $(my_objects) + +rocks := 00 01 02 03 04 05 06 07 08 09 +rocks += 10 11 12 13 14 15 16 17 18 19 +rocks += 20 21 22 23 24 25 26 27 28 29 +rocks += 30 31 32 33 34 35 36 37 38 39 +rocks += 40 41 42 43 44 45 46 47 48 49 +rocks := $(rocks:%=data\rock%.png) +graphics := data\ship.png data\life.png $(rocks) + + +.PHONY: all clean + +all: vor + +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +$(my_objects): config.h + +SFont.o: SFont.h + +args.o: args.h + +dust.o: globals.h dust.h mt.h + +file.o: file.h common.h + +main.o: args.h common.h dust.h file.h globals.h mt.h rocks.h score.h sprite.h sound.h + +mt.o: mt.h + +rocks.o: rocks.h common.h file.h globals.h mt.h sprite.h + +score.o: score.h common.h file.h + +sound.o: sound.h args.h common.h + +sprite.o: sprite.h common.h + +vor: $(objects) + $(CC) $(LDFLAGS) -o $@ $^ + +clean: + del vor *.o diff --git a/args.c b/args.c index a9ff69a..06efba3 100644 --- a/args.c +++ b/args.c @@ -12,6 +12,9 @@ int opt_fullscreen; int opt_music; int opt_sound; + +#ifndef WIN32 + error_t parse_opt(int, char*, struct argp_state *); const char *argp_program_version = "Variations on Rockdodger " VERSION; @@ -33,6 +36,8 @@ static struct argp_option opts[] = { struct argp argp = { opts, &parse_opt, 0, doc }; +#endif // !WIN32 + void init_opts(void) { @@ -47,6 +52,8 @@ init_opts(void) opt_music = 0; } +#ifndef WIN32 + error_t parse_opt(int key, char *arg, struct argp_state *state) { @@ -83,3 +90,5 @@ parse_opt(int key, char *arg, struct argp_state *state) } return 0; } + +#endif // !WIN32 diff --git a/args.h b/args.h index a122b8d..bf49c60 100644 --- a/args.h +++ b/args.h @@ -13,7 +13,9 @@ extern int opt_fullscreen; extern int opt_music; extern int opt_sound; +#ifndef WIN32 struct argp argp; +#endif void init_opts(void); diff --git a/main.c b/main.c index 7620378..60ee8f0 100644 --- a/main.c +++ b/main.c @@ -19,7 +19,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#ifndef WIN32 +# include +#endif #include #include #include @@ -765,7 +767,9 @@ gameloop() { int main(int argc, char **argv) { init_opts(); +#ifndef WIN32 argp_parse(&argp, argc, argv, 0, 0, 0); +#endif if(init()) { printf ("ta: '%s'\n",initerror); -- 1.7.10.4