1 # makefile für Scalos PopupMenu.prefsplugin
4 #############################################################
8 SUBDIRMAKE
= $(MAKE
) -s
-C
15 LIBS
= LIB
:sc.lib LIB
:debug.lib LIB
:mempools.lib LIB
:amiga.lib
16 LDFLAGS
= quiet batch noicons
17 PRECOMP
= Include
:all.gst
20 DATATYPESMCC_DIR
= ..
/..
/..
/common
/DataTypesMCC
21 COMMON_DIR
= ..
/..
/..
/common
/Plugin
22 PREFS_DIR
= ..
/..
/..
/include/prefs
26 #############################################################
28 CSRCS
= $(COMMON_DIR
)/plugin-classic.c \
31 $(DATATYPESMCC_DIR
)/DataTypesMCC.c \
33 #############################################################
35 PLUGIN
= PopupMenu.prefsplugin
36 PLUGINDBG
= $(PLUGIN
).debug
37 CAT_FILE
= Scalos
/ScalosPopupMenu.catalog
38 DESTTOOL
= Scalos
:Prefs
/
39 DESTCAT
= Locale
:Catalogs
40 SCALOS_LOCALE
= $(OBJDIR
)/PopupMenu_locale.h
41 CATCOMPHEADER
= $(SCALOS_LOCALE
)
47 ALLCATS
= $(foreach cat
,$(CATS
),Catalogs
/$(cat
)/$(CAT_FILE
))
49 #############################################################
51 CFLAGS
= optimize nostackcheck nover dbg
=s DATA
=far \
53 define SCALOSLOCALE
=$(SCALOS_LOCALE
) \
55 idir
=$(subst ..
/,/,$(DATATYPESMCC_DIR
)) \
58 #############################################################
61 @
[ -d
$(OBJDIR
) ] || mkdir
$(OBJDIR
) > /dev
/null
2>&1
63 XSRCS
= $(notdir $(CSRCS
))
64 OBJS
= $(ASRCS
:%.asm
=$(OBJDIR
)/%.o
) $(XSRCS
:%.c
=$(OBJDIR
)/$(notdir %).o
)
66 #############################################################
68 All
: $(BINDIR
)/$(PLUGIN
) \
69 $(BINDIR
)/$(PLUGINDBG
) \
74 #############################################################
76 $(OBJDIR
)/plugin-classic.o
: $(COMMON_DIR
)/plugin-classic.c
77 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
78 @
$(CC
) $(CFLAGS
) $(subst ..
/,/,$<) objectname
$@
80 $(OBJDIR
)/DataTypesMCC.o
: $(DATATYPESMCC_DIR
)/DataTypesMCC.c
81 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
82 @
$(CC
) $(CFLAGS
) $(subst ..
/,/,$<) objectname
$@
85 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
86 @
$(CC
) $(CFLAGS
) $*.c objectname
$@
88 #############################################################
90 $(OBJDIR
)/plugin-classic.o
: $(COMMON_DIR
)/plugin-common.c \
91 plugin_data.h
$(COMMON_DIR
)/plugin.h
93 $(OBJDIR
)/FrameButtonMCC.o
: FrameButtonMCC.c FrameButtonMCC.h \
94 PopupMenuPrefs.h
$(PREFS_DIR
)/popupmenu.h
96 $(OBJDIR
)/DataTypesMCC.o
: $(DATATYPESMCC_DIR
)/DataTypesMCC.c \
97 $(DATATYPESMCC_DIR
)/DataTypesMCC.h
99 $(OBJDIR
)/PopupMenuPrefs.o
: PopupMenuPrefs.h PopupMenuPrefsImage.h \
100 plugin_data.h
$(COMMON_DIR
)/plugin.h
$(SCALOS_LOCALE
) \
101 $(PREFS_DIR
)/popupmenu.h FrameButtonMCC.h
103 #############################################################
105 $(CATCOMPHEADER
) : ScalosPopupMenu.cd
106 @printf
'\033[32mMake CatComp header: \033[31m\033[1m$@ \033[32mfrom \033[31m$<\033[0m\n'
107 $(FLEXCAT
) $(subst ..
/,/,$<) $@
=$(SDPATH
)/CatComp_h.sd
109 $(BINDIR
)/$(PLUGIN
) : $(OBJS
)
110 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
111 @
$(LD
) to
$@ FROM
$(OBJS
) lib
$(LIBS
) $(LDFLAGS
) STRIPDEBUG
113 $(BINDIR
)/$(PLUGINDBG
) : $(OBJS
)
114 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
115 @
$(LD
) to
$@ FROM
$(OBJS
) lib
$(LIBS
) $(LDFLAGS
) ADDSYM
117 #############################################################
121 @printf
'\033[32mInstall: \033[31m\033[1m$(PLUGIN)\033[0m\n'
122 @copy
$(BINDIR
)/$(PLUGIN
) $(DESTTOOL
)
123 @printf
'\033[32mInstall: \033[31m\033[1m$(CAT_FILE)\033[0m\n'
124 -@
$(foreach cat
,$(CATS
),copy
"Catalogs/$(cat)/$(CAT_FILE)" "$(DESTCAT)/$(cat)/Scalos" clone
;)
126 #############################################################
129 @printf
'\033[32mCleanup: \033[31m\033[1m'
130 -@delete
$(BINDIR
)/$(PLUGIN
) $(BINDIR
)/$(PLUGINDBG
) $(OBJS
) $(subst ..
/,/,$(CATCOMPHEADER
)) $(ALLCATS
)
133 #############################################################
135 # make all Scalos preferences .catalogs
137 -@
$(foreach cat
,$(CATS
),$(SUBDIRMAKE
) Catalogs
/$(cat
)/Scalos
;)
139 #############################################################