https://github.com/jrincayc/ucblogo-code
Revision 9ff7afe2c4d948e1e0b57904300c57af5f45c99c authored by Andras Pahi on 21 January 2020, 09:01:59 UTC, committed by Andras Pahi on 21 January 2020, 09:01:59 UTC
1 parent e33ad22
Raw File
Tip revision: 9ff7afe2c4d948e1e0b57904300c57af5f45c99c authored by Andras Pahi on 21 January 2020, 09:01:59 UTC
added TIME to return current time in seconds
Tip revision: 9ff7afe
makefile.osx
# GFX = -DHAVE_WX
# TERM_OBJS = wxMain.o wxTerminal.o wxTurtleGraphics.o TextEditor.o wxterm.o 
# TERM_SRCS = wxMain.cpp wxTerminal.cpp wxTurtleGraphics.cpp  TextEditor.cpp wxterm.c 
GFX = -DX_DISPLAY_MISSING
TERM_OBJS = term.o
TERM_SRCS = term.c
OBJLOGO = -DOBJECTS=1

CC	= gcc -mmacosx-version-min=10.9 -Wall
OPT0 = -g -O0
OPT = -g -O2
C_FLAGS	= $(GFX) $(OBJLOGO) -DUSE_OLD_TTY
CFLAGS = $(OPT) $(C_FLAGS)
CXX     = g++ -mmacosx-version-min=10.9 -Wall
CXXFLAGS = $(OPT) $(GFX) -I/usr/local/lib/wx/include/osx_cocoa-unicode-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ 
LDFLAGS	= 
LIBS  =   -lm  -L/usr/local/lib   -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -lwx_osx_cocoau_xrc-3.1 -lwx_osx_cocoau_html-3.1 -lwx_osx_cocoau_qa-3.1 -lwx_osx_cocoau_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1  -ltermcap 
prefix = /usr/local
BINDIR        = $(prefix)/bin
LIBLOC        = $(prefix)/lib/logo
LINKER = g++ -mmacosx-version-min=10.9

# LIBLOC      = `pwd`

OBJS 	= coms.o error.o eval.o files.o graphics.o init.o intern.o \
	  libloc.o lists.o logodata.o main.o math.o mem.o paren.o parse.o \
	  print.o wrksp.o nographics.o git.o obj.o \
      $(TERM_OBJS)

SRCS	= coms.c error.c eval.c files.c graphics.c init.c intern.c \
	  libloc.c lists.c logodata.c main.c math.c mem.c paren.c parse.c \
	  print.c wrksp.c nographics.c obj.c \
      $(TERM_SRCS)

HDRS	= globals.h logo.h xgraphics.h

logo:	$(OBJS)
	$(LINKER) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o logo

everything:	logo logolib/Messages helpfiles helpfiles/HELPCONTENTS
#logo-mode

mem.o:	mem.c
	$(CC) $(C_FLAGS) $(OPT2) -c mem.c

git.c:	$(SRCS)
	echo 'char* GIT = "('`git describe||echo NA|tr -d '\r'`')";' > git.c

tags:	$(SRCS)
	ctags --format=1 -N $(SRCS) $(HDRS)
# 	ctags -t $(SRCS) $(HDRS)

libloc.c:
	echo 'char *libloc="'$(LIBLOC)'/logolib";' > libloc.c
	echo 'char *helploc="'$(LIBLOC)'/helpfiles";' >> libloc.c
	echo 'char *cslsloc="'$(LIBLOC)'/csls";' >> libloc.c
	echo 'char *temploc="/tmp";' >> libloc.c
	echo 'char *separator="/";' >> libloc.c

logolib/Messages:	makelib Messages
	chmod +x makelib
	./makelib
	cp -f Messages logolib

helpfiles:
	mkdir helpfiles

helpfiles/HELPCONTENTS:	makehelp usermanual
	./makehelp
	sort helptemp | pr -5 -t -l999 -w80 >> helpfiles/HELPCONTENTS
	rm helptemp

makehelp:	makehelp.c
	$(CC) -o makehelp makehelp.c

clean:
	rm -f *.o libloc.c
#	cd emacs; $(MAKE) clean

ship:
	rm -f config.h config.cache config.log config.status
	rm -f makefile makehelp logo *.o libloc.c
#	cd emacs; $(MAKE) ship
	cd docs; $(MAKE) ship

install: everything
	for d in $(BINDIR) $(LIBLOC) $(LIBLOC)/logolib $(LIBLOC)/helpfiles $(LIBLOC)/csls; do [ -d $$d ] || mkdir -p $$d || exit 1; done
	cp logo $(BINDIR)/.
	cp -f logolib/* $(LIBLOC)/logolib/.
	cp -f helpfiles/* $(LIBLOC)/helpfiles/.
	cp -f csls/* $(LIBLOC)/csls/.
#	(cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
	(cd docs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
#	prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE) install

logo-mode: 
#	(cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE))
#	@prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE)

make-docs:
	(cd docs; prefix=$(prefix) LIBLOC=$(LIBLOC) $(MAKE) all)

mac: everything
	mkdir -p UCBLogo.app
	mkdir -p UCBLogo.app/Contents
	cp Info.plist UCBLogo.app/Contents/
	cp PkgInfo UCBLogo.app/Contents/
	cp pbdevelopment.plist UCBLogo.app/Contents/
	mkdir -p UCBLogo.app/Contents/Resources/csls
	cp csls/[a-z]* UCBLogo.app/Contents/Resources/csls
	cp -r helpfiles UCBLogo.app/Contents/Resources/
	cp -r logolib UCBLogo.app/Contents/Resources/
	cp logo.icns UCBLogo.app/Contents/Resources/
	mkdir -p UCBLogo.app/Contents/MacOS/
	cp logo UCBLogo.app/Contents/MacOS/UCBLogo

ucblogo.dmg : mac
	rm -f ucblogo.dmg ucblogo_base.dmg
	hdiutil create -size 15m -fs HFS+ -volname "UCBLogo" ucblogo_base.dmg
	hdiutil attach ucblogo_base.dmg
	cp -a UCBLogo.app /Volumes/UCBLogo/
	cp docs/usermanual.pdf /Volumes/UCBLogo/UCBLogoUserManual.pdf
	hdiutil detach /Volumes/UCBLogo/
	hdiutil convert ucblogo_base.dmg -format UDZO -o ucblogo.dmg
back to top