source: trunk/testapp/common.mak@ 21603

Last change on this file since 21603 was 21588, checked in by dmik, 15 years ago

testapp: Added systray testcase (taken from http://www.codeproject.com/KB/shell/StealthDialog.aspx and slightly modified to build with Odin).

File size: 1.7 KB
Line 
1ifndef ODIN
2$(error ODIN variable must be set)
3else
4ifeq ($(shell ls $(ODIN)/include/odin.h),)
5$(error $(ODIN) does not contain include/odin.h)
6endif
7endif
8
9.PHONY: default
10
11default: all
12
13ODIN_DOS = $(subst /,\,$(ODIN))
14
15DEFINES += -D__WIN32OS2__ -D__i386__ -DSTRICT -D_POSIX_SOURCE \
16 -D_POSIX_C_SOURCE=200112 -D_EMX_SOURCE -D_XOPEN_SOURCE=600 \
17 -D_SVID_SOURCE
18
19INCLUDES += -I$(ODIN)/include -I$(ODIN)/include/win
20
21CFLAGS += $(DEFINES) $(INCLUDES) -g -DDEBUG -L$(ODIN)/lib/Debug -lkernel32.lib
22
23DEBUGGER = ipmd
24
25WRC = $(ODIN)/tools/wrc/bin/Release/wrc.exe
26
27run-%: %
28 @echo [Running $<$(if $($<_ARGS), $($<_ARGS))]
29 @echo.
30 @cmd /c "set BEGINLIBPATH=$(ODIN)/bin/Debug;$(ODIN)/bin;%BEGINLIBPATH% && $< $($<_ARGS)"
31 @echo.
32
33debug-%: %
34 @echo [Running $<$(if $($<_ARGS), $($<_ARGS))]
35 @echo.
36 @cmd /c "set BEGINLIBPATH=$(ODIN)/bin/Debug;$(ODIN)/bin;%BEGINLIBPATH% && $(DEBUGGER) $< $($<_ARGS)"
37 @echo.
38
39%.exe: %.c
40 gcc $^ -Zomf -Zmap -Zlinker /PM:VIO -o $@ $(CFLAGS) $(foreach src, $^, $(CFLAGS.$(src))) $(CFLAGS.$@)
41
42%.exe:
43 gcc $^ -Zomf -Zmap -Zlinker /PM:VIO -o $@ $(CFLAGS) $(foreach src, $^, $(CFLAGS.$(src))) $(CFLAGS.$@)
44
45%.s: %.c
46 gcc $< -S -Zomf -o $@ $(CFLAGS)
47
48%.s: %.rc
49 $(WRC) -s $(DEFINES) $(INCLUDES) $< -o $@
50
51CLEAN = *.exe *.map *.log
52
53clean::
54 -rm $(CLEAN)
55
56define run-with-args-gen
57.PHONY: run-$(1)-$(2) run-$(1)-$(3)
58run-$(1)-$(2): $(1)
59 @make -s run-$(1) $(1)_ARGS=$($(1)_ARGS.$(2))
60run-$(1)-$(3):: run-$(1)-$(2)
61debug-$(1)-$(2): $(1)
62 @make -s debug-$(1) $(1)_ARGS=$($(1)_ARGS.$(2))
63endef
64
65run-with-args = $(foreach i, $(2), $(eval $(call run-with-args-gen,$(1),$(i),$(3))))run-$(1)-$(3)
Note: See TracBrowser for help on using the repository browser.