Okay I finally got this library from "You can do it" programming book working on my mac!!!
This is how I did it.
I modified the make file that was included on the cd for Linux slightly.
After that created the libfgw.a static library I testd it out on the cross program that creates a cross in playpen by typing:
g++ -c cross.cpp -o cross.o
then
most important and complex commandline!
g++ -o cross cross.o libfgw.a -L/usr/X11R6/lib -lX11
after that just type
./cross to see X11 pop up running a cross i macosx snow leopard!
anyways here is the modified makefile. only change really is adding an all to actually make it build the static library. Don't know why the original was missing it?
CC = g++
AR = ar
DEL = rm
OBJ_DIR = ./
OUTPUT_DIR = ./
OUTPUTFILE = libfgw.a
C_INCLUDE_DIRS =
C_PREPROC =
CFLAGS = -pipe -Wall -g0 -O2 -frtti -fexceptions
RC_INCLUDE_DIRS =
RC_PREPROC =
RCFLAGS =
ARFLAGS = rcs
NULL = nul
SRC_OBJS = \
$(OBJ_DIR)/adler32.o \
$(OBJ_DIR)/deflate.o \
$(OBJ_DIR)/flood_fill.o \
$(OBJ_DIR)/infblock.o \
$(OBJ_DIR)/infcodes.o \
$(OBJ_DIR)/inffast.o \
$(OBJ_DIR)/inflate.o \
$(OBJ_DIR)/inftrees.o \
$(OBJ_DIR)/infutil.o \
$(OBJ_DIR)/line_drawing.o \
$(OBJ_DIR)/minipng.o \
$(OBJ_DIR)/playpen.o \
$(OBJ_DIR)/point2d.o \
$(OBJ_DIR)/point2dx.o \
$(OBJ_DIR)/shape.o \
$(OBJ_DIR)/trees.o \
$(OBJ_DIR)/zutil.o
define build_target
@echo Creating library...
@$(AR) $(ARFLAGS) "$(OUTPUT_DIR)/$(OUTPUTFILE)" $(SRC_OBJS)
endef
define compile_source
@echo Compiling $<
@$(CC) $(CFLAGS) $(C_PREPROC) $(C_INCLUDE_DIRS) -c "$<" -o "$@"
endef
.PHONY: print_header directories
all: $(SRC_OBJS)
$(build_target)
.PHONY: clean cleanall
cleanall:
@echo Deleting intermediate files for 'build_fgw - $(CFG)'
-@$(DEL) $(OBJ_DIR)/*.o
-@$(DEL) "$(OUTPUT_DIR)/$(TARGET)"
-@rmdir "$(OUTPUT_DIR)"
clean:
@echo Deleting intermediate files for 'build_fgw - $(CFG)'
-@$(DEL) $(OBJ_DIR)/*.o
print_header:
@echo ----------Configuration: build_fgw - $(CFG)----------
directories:
-@if [ ! -d $(OUTPUT_DIR) ]; then mkdir $(OUTPUT_DIR); fi
-@if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
$(OBJ_DIR)/adler32.o: adler32.c \
zlib.h
$(compile_source)
$(OBJ_DIR)/deflate.o: deflate.c \
deflate.h
$(compile_source)
$(OBJ_DIR)/flood_fill.o: flood_fill.cpp \
playpen.h
$(compile_source)
$(OBJ_DIR)/infblock.o: infblock.c \
zutil.h \
infblock.h \
inftrees.h \
infcodes.h \
infutil.h
$(compile_source)
$(OBJ_DIR)/infcodes.o: infcodes.c \
zutil.h \
inftrees.h \
infblock.h \
infcodes.h \
infutil.h \
inffast.h
$(compile_source)
$(OBJ_DIR)/inffast.o: inffast.c \
zutil.h \
inftrees.h \
infblock.h \
infcodes.h \
infutil.h \
inffast.h
$(compile_source)
$(OBJ_DIR)/inflate.o: inflate.c \
zutil.h \
infblock.h
$(compile_source)
$(OBJ_DIR)/inftrees.o: inftrees.c \
zutil.h \
inftrees.h \
inffixed.h
$(compile_source)
$(OBJ_DIR)/infutil.o: infutil.c \
zutil.h \
infblock.h \
inftrees.h \
infcodes.h \
infutil.h
$(compile_source)
$(OBJ_DIR)/line_drawing.o: line_drawing.cpp \
line_drawing.h
$(compile_source)
$(OBJ_DIR)/minipng.o: minipng.cpp \
minipng.h \
zlib.h \
playpen.h
$(compile_source)
$(OBJ_DIR)/playpen.o: playpen_unix1.cpp \
playpen.h \
mouse.h \
keyboard.h
$(compile_source)
$(OBJ_DIR)/point2d.o: point2d.cpp \
fgw_text.h \
point2d.h
$(compile_source)
$(OBJ_DIR)/point2dx.o: point2dx.cpp \
point2dx.h
$(compile_source)
$(OBJ_DIR)/shape.o: shape.cpp \
flood_fill.h \
line_drawing.h \
point2dx.h \
shape.h
$(compile_source)
$(OBJ_DIR)/trees.o: trees.c \
deflate.h \
trees.h
$(compile_source)
$(OBJ_DIR)/zutil.o: zutil.c \
zutil.h
$(compile_source)
No comments:
Post a Comment