178 lines
4.9 KiB
Makefile
178 lines
4.9 KiB
Makefile
# NMAKE code here \
|
|
!ifndef 0 # \
|
|
MV=move /Y # \
|
|
RM=del /F/Q # \
|
|
RMDIR=rmdir /S/Q # \
|
|
CP=copy /B/Y # \
|
|
PS=\ # \
|
|
CAT=type # \
|
|
SEVENZ="C:\Program Files\7-Zip\7z.exe" -y # \
|
|
SDL2LIB=SDL2.lib # \
|
|
SDL2IMGLIB=SDL2_image.lib # \
|
|
CCOBJ=cl /nologo /c /Iinclude # \
|
|
OBJOUT=/Fo#\
|
|
EXEOUT=/Fe#\
|
|
CCEXE=cl /nologo /Iinclude # \
|
|
#LDFLAGS=SDL2main.lib SDL2.lib shell32.lib /link /subsystem:windows # \
|
|
LDFLAGS= kernel32.lib user32.lib shell32.lib /link /subsystem:console # \
|
|
RUNPREFIX= # \
|
|
USE_TRAY=-DTRAY_WINAPI=1 # \
|
|
LINK_TRAY= # \
|
|
LINK_SDL= SDL2.lib #\
|
|
!else
|
|
# Make code here
|
|
MV=mv -f
|
|
RM=rm -f
|
|
CP=cp -f
|
|
CAT=cat
|
|
PS=/
|
|
SEVENZ=7z -y
|
|
RMDIR=rm -f
|
|
SDL2LIB=SDL2.a
|
|
SDL2IMGLIB=SDL2_image.so
|
|
CCOBJ=gcc -c -Iinclude
|
|
OBJOUT=-o
|
|
EXEOUT=-o
|
|
CCEXE=gcc -Iinclude
|
|
LDFLAGS=
|
|
RUNPREFIX=./
|
|
USE_TRAY=-DTRAY_APPINDICATOR=1 $(shell pkg-config --cflags appindicator3-0.1)
|
|
LINK_TRAY=$(shell pkg-config --libs appindicator3-0.1)
|
|
LINK_SDL= SDL2.lib
|
|
# \
|
|
!endif
|
|
|
|
check:
|
|
@echo MV=$(MV)
|
|
@echo RM=$(RM)
|
|
@echo CP=$(CP)
|
|
@echo CAT=$(CAT)
|
|
@echo PS=$(PS)
|
|
@echo RMDIR=$(RMDIR)
|
|
@echo SEVENZ=$(SEVENZ)
|
|
@echo SDL2LIB=$(SDL2LIB)
|
|
@echo LDFLAGS=$(LDFLAGS)
|
|
@echo if this is correct, run "make purforce"
|
|
@echo other options:
|
|
@echo all, purforce, clean, reallyclean, distclean
|
|
all: purforce
|
|
clean:
|
|
-@$(RM) build$(PS)*.obj
|
|
-@$(RM) sdl2dev.zip
|
|
-@$(RM) sdl2imgdev.zip
|
|
-@$(RM) SDL2-2.30.0$(PS)*.txt
|
|
-@$(RM) SDL2-2.30.0$(PS)docs$(PS)*.md
|
|
-@$(RM) SDL2-2.30.0$(PS)docs$(PS)doxyfile
|
|
-@$(RMDIR) SDL2-2.30.0$(PS)docs
|
|
-@$(RM) SDL2-2.30.0$(PS)cmake$(PS)*.cmake
|
|
-@$(RMDIR) SDL2-2.30.0$(PS)cmake
|
|
-@$(RM) SDL2-2.30.0$(PS)include$(PS)*.h
|
|
-@$(RMDIR) SDL2-2.30.0$(PS)include
|
|
-@$(RM) SDL2-2.30.0$(PS)lib$(PS)x64$(PS)*.lib
|
|
-@$(RM) SDL2-2.30.0$(PS)lib$(PS)x64$(PS)*.dll
|
|
-@$(RMDIR) SDL2-2.30.0$(PS)lib$(PS)x64
|
|
-@$(RM) SDL2-2.30.0$(PS)lib$(PS)x86$(PS)*.lib
|
|
-@$(RM) SDL2-2.30.0$(PS)lib$(PS)x86$(PS)*.dll
|
|
-@$(RMDIR) SDL2-2.30.0$(PS)lib$(PS)x86
|
|
-@$(RMDIR) SDL2-2.30.0$(PS)lib
|
|
-@$(RMDIR) SDL2-2.30.0
|
|
-@$(RM) SDL2_image-2.8.2$(PS)*.txt
|
|
-@$(RM) SDL2_image-2.8.2$(PS)cmake$(PS)*.cmake
|
|
-@$(RMDIR) SDL2_image-2.8.2$(PS)cmake
|
|
-@$(RM) SDL2_image-2.8.2$(PS)lib$(PS)x64$(PS)*.dll
|
|
-@$(RM) SDL2_image-2.8.2$(PS)lib$(PS)x64$(PS)*.lib
|
|
-@$(RM) SDL2_image-2.8.2$(PS)lib$(PS)x86$(PS)*.dll
|
|
-@$(RM) SDL2_image-2.8.2$(PS)lib$(PS)x86$(PS)*.lib
|
|
-@$(RMDIR) SDL2_image-2.8.2$(PS)lib$(PS)x64
|
|
-@$(RMDIR) SDL2_image-2.8.2$(PS)lib$(PS)x86
|
|
-@$(RMDIR) SDL2_image-2.8.2$(PS)lib
|
|
-@$(RM) SDL2_image-2.8.2$(PS)include$(PS)*.h
|
|
-@$(RMDIR) SDL2_image-2.8.2$(PS)include
|
|
-@$(RMDIR) SDL2_image-2.8.2
|
|
veryclean:reallyclean
|
|
reallyclean: clean
|
|
-@$(RM) purforce.exe
|
|
-@$(RM) tray.exe
|
|
-@$(RM) icon.ico
|
|
-@$(RM) pf.ico
|
|
-@$(RM) pf.png
|
|
-@$(RMDIR) build
|
|
distclean: reallyclean
|
|
-@$(RM) SDL2.a
|
|
-@$(RM) SDL2.lib
|
|
-@$(RM) SDL2.dll
|
|
-@$(RM) SDL2_image.lib
|
|
-@$(RM) SDL2_image.dll
|
|
-@$(RM) SDL2main.lib
|
|
-@$(RM) include$(PS)*.h
|
|
-@$(RMDIR) include
|
|
|
|
PUR_OBJS= \
|
|
build$(PS)main.obj \
|
|
build$(PS)error.obj \
|
|
build$(PS)stats.obj \
|
|
build$(PS)systray.obj
|
|
|
|
build$(PS)main.obj: build Makefile main.c api.h include$(PS)SDL.h include$(PS)SDL_image.h
|
|
$(CCOBJ) main.c $(OBJOUT)$@
|
|
build$(PS)stats.obj: build Makefile stats.c api.h include$(PS)SDL.h include$(PS)SDL_image.h
|
|
$(CCOBJ) stats.c $(OBJOUT)$@
|
|
build$(PS)error.obj: build Makefile api.h error.c
|
|
$(CCOBJ) error.c $(OBJOUT)$@
|
|
build$(PS)systray.obj: build pf.ico pf.png api.h tray$(PS)tray.h
|
|
$(CCOBJ) systray.c $(OBJOUT)$@
|
|
|
|
build:
|
|
mkdir build
|
|
pf.ico: images$(PS)pf.ico
|
|
$(CP) images$(PS)pf.ico $@
|
|
pf.png: images$(PS)pf.png
|
|
$(CP) images$(PS)pf.png $@
|
|
purforce: purforce.exe
|
|
$(RUNPREFIX)purforce.exe
|
|
purforce.exe: $(PUR_OBJS) $(SDL2LIB) $(SDL2IMGLIB) Makefile
|
|
$(CCEXE) $(PUR_OBJS) $(SDL2IMGLIB) $(EXEOUT)$@ $(LINK_SDL) $(LDFLAGS)
|
|
|
|
sdl2dev.zip:
|
|
$(CP) ..\..\assets\windows\SDL2-devel-2.30.0-VC.zip $@
|
|
sdl2imgdev.zip:
|
|
$(CP) ..\..\assets\windows\SDL2_image-devel-2.8.2-VC.zip $@
|
|
|
|
include:
|
|
mkdir include
|
|
|
|
include$(PS)SDL.h: sdl2dev.zip include
|
|
$(SEVENZ) x sdl2dev.zip
|
|
$(CP) SDL2-2.30.0$(PS)include$(PS)*.h include$(PS)
|
|
touch include$(PS)SDL.h
|
|
include$(PS)SDL_image.h: sdl2imgdev.zip include
|
|
$(SEVENZ) x sdl2imgdev.zip
|
|
$(CP) SDL2_image-2.8.2$(PS)include$(PS)*.h include$(PS)
|
|
touch include$(PS)SDL_image.h
|
|
|
|
SDL2_image.lib: sdl2imgdev.zip
|
|
$(SEVENZ) x sdl2imgdev.zip
|
|
$(CP) SDL2_image-2.8.2\lib\x64\SDL2_image.dll SDL2_image.dll
|
|
$(CP) SDL2_image-2.8.2\lib\x64\SDL2_image.lib SDL2_image.lib
|
|
touch SDL2_image.lib
|
|
|
|
SDL2.lib: sdl2dev.zip
|
|
$(SEVENZ) x sdl2dev.zip
|
|
$(CP) SDL2-2.30.0\lib\x64\SDL2.dll SDL2.dll
|
|
$(CP) SDL2-2.30.0\lib\x64\SDL2.lib SDL2.lib
|
|
$(CP) SDL2-2.30.0\lib\x64\SDL2main.lib SDL2main.lib
|
|
touch SDL2.lib
|
|
SDL2.a:
|
|
sudo apt-get install sdl2-dev
|
|
ln -s /user/local/lib/sdl2/sdl2.so ./SDL2.a
|
|
touch SDL2.a
|
|
|
|
build$(PS)trayxmpl.obj: build tray$(PS)example.c tray$(PS)tray.h
|
|
$(CCOBJ) $(USE_TRAY) tray$(PS)example.c $(OBJOUT)$@
|
|
icon.ico: tray$(PS)icon.ico
|
|
$(CP) tray$(PS)icon.ico $@
|
|
tray.exe: build$(PS)trayxmpl.obj icon.ico
|
|
$(CCEXE) $(USE_TRAY) build$(PS)trayxmpl.obj $(EXEOUT)$@ $(LINK_TRAY) $(LDFLAGS)
|
|
tray: tray.exe
|
|
$(RUNPREFIX)tray.exe
|